@budibase/server 2.2.11-alpha.1 → 2.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/__mocks__/aws-sdk.ts +0 -19
  2. package/__mocks__/node-fetch.ts +0 -78
  3. package/builder/assets/{index.f0a10c2a.js → index.7481e2b4.js} +359 -362
  4. package/builder/assets/{index.fa480d5b.css → index.9cb087df.css} +2 -2
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +5075 -5062
  7. package/coverage/coverage-final.json +265 -265
  8. package/coverage/lcov-report/index.html +222 -207
  9. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +7 -7
  10. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +5 -5
  11. package/coverage/lcov-report/src/api/controllers/application.ts.html +183 -258
  12. package/coverage/lcov-report/src/api/controllers/auth.ts.html +11 -11
  13. package/coverage/lcov-report/src/api/controllers/automation.ts.html +51 -51
  14. package/coverage/lcov-report/src/api/controllers/backup.ts.html +6 -6
  15. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +79 -91
  16. package/coverage/lcov-report/src/api/controllers/component.ts.html +5 -5
  17. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +30 -30
  18. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +14 -17
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.html +19 -19
  20. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +195 -141
  21. package/coverage/lcov-report/src/api/controllers/dev.ts.html +18 -18
  22. package/coverage/lcov-report/src/api/controllers/index.html +51 -51
  23. package/coverage/lcov-report/src/api/controllers/integration.ts.html +4 -4
  24. package/coverage/lcov-report/src/api/controllers/layout.ts.html +6 -6
  25. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +9 -9
  26. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +4 -4
  27. package/coverage/lcov-report/src/api/controllers/permission.ts.html +13 -13
  28. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +19 -19
  29. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +63 -63
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.html +72 -72
  31. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +135 -150
  32. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +55 -55
  33. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +11 -11
  34. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +18 -18
  35. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +20 -20
  36. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +16 -67
  37. package/coverage/lcov-report/src/api/controllers/public/index.html +15 -15
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +2 -2
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +7 -7
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +2 -2
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +2 -2
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +2 -2
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +2 -2
  45. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +6 -6
  46. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +10 -10
  47. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +9 -9
  48. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +11 -11
  49. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +6 -6
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -8
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +8 -8
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +10 -10
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +14 -14
  59. package/coverage/lcov-report/src/api/controllers/query/index.html +19 -19
  60. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +60 -60
  61. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  62. package/coverage/lcov-report/src/api/controllers/role.ts.html +8 -8
  63. package/coverage/lcov-report/src/api/controllers/routing.ts.html +6 -6
  64. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +15 -12
  65. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +20 -20
  66. package/coverage/lcov-report/src/api/controllers/row/index.html +1 -1
  67. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +14 -14
  68. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +52 -55
  69. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +9 -9
  70. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +12 -21
  71. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +14 -17
  72. package/coverage/lcov-report/src/api/controllers/screen.ts.html +26 -26
  73. package/coverage/lcov-report/src/api/controllers/script.ts.html +18 -18
  74. package/coverage/lcov-report/src/api/controllers/static/index.html +11 -11
  75. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +44 -32
  76. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +10 -10
  77. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +14 -14
  78. package/coverage/lcov-report/src/api/controllers/table/index.html +19 -19
  79. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +14 -14
  80. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +17 -17
  81. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +51 -51
  82. package/coverage/lcov-report/src/api/controllers/templates.ts.html +7 -7
  83. package/coverage/lcov-report/src/api/controllers/user.ts.html +119 -119
  84. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +4 -4
  85. package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
  86. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +49 -49
  87. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  88. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +33 -33
  89. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +14 -14
  90. package/coverage/lcov-report/src/api/index.html +1 -1
  91. package/coverage/lcov-report/src/api/index.ts.html +33 -33
  92. package/coverage/lcov-report/src/api/routes/analytics.ts.html +7 -7
  93. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +8 -8
  94. package/coverage/lcov-report/src/api/routes/application.ts.html +11 -44
  95. package/coverage/lcov-report/src/api/routes/auth.ts.html +6 -6
  96. package/coverage/lcov-report/src/api/routes/automation.ts.html +11 -11
  97. package/coverage/lcov-report/src/api/routes/backup.ts.html +8 -8
  98. package/coverage/lcov-report/src/api/routes/cloud.ts.html +8 -8
  99. package/coverage/lcov-report/src/api/routes/component.ts.html +8 -8
  100. package/coverage/lcov-report/src/api/routes/datasource.ts.html +9 -9
  101. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -8
  102. package/coverage/lcov-report/src/api/routes/dev.ts.html +13 -13
  103. package/coverage/lcov-report/src/api/routes/index.html +7 -7
  104. package/coverage/lcov-report/src/api/routes/index.ts.html +37 -40
  105. package/coverage/lcov-report/src/api/routes/integration.ts.html +8 -8
  106. package/coverage/lcov-report/src/api/routes/layout.ts.html +8 -8
  107. package/coverage/lcov-report/src/api/routes/metadata.ts.html +9 -9
  108. package/coverage/lcov-report/src/api/routes/migrations.ts.html +7 -7
  109. package/coverage/lcov-report/src/api/routes/permission.ts.html +9 -9
  110. package/coverage/lcov-report/src/api/routes/plugin.ts.html +8 -8
  111. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +14 -146
  112. package/coverage/lcov-report/src/api/routes/public/index.html +7 -7
  113. package/coverage/lcov-report/src/api/routes/public/index.ts.html +52 -52
  114. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +15 -15
  115. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +16 -28
  116. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +9 -9
  117. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +12 -12
  118. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +12 -12
  119. package/coverage/lcov-report/src/api/routes/public/tests/index.html +1 -1
  120. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +1 -1
  121. package/coverage/lcov-report/src/api/routes/public/users.ts.html +12 -12
  122. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +19 -19
  123. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  124. package/coverage/lcov-report/src/api/routes/query.ts.html +11 -11
  125. package/coverage/lcov-report/src/api/routes/role.ts.html +9 -9
  126. package/coverage/lcov-report/src/api/routes/routing.ts.html +8 -8
  127. package/coverage/lcov-report/src/api/routes/row.ts.html +11 -11
  128. package/coverage/lcov-report/src/api/routes/screen.ts.html +9 -9
  129. package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
  130. package/coverage/lcov-report/src/api/routes/static.ts.html +14 -14
  131. package/coverage/lcov-report/src/api/routes/table.ts.html +11 -11
  132. package/coverage/lcov-report/src/api/routes/templates.ts.html +8 -8
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +15 -15
  134. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +1 -1
  135. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +24 -24
  136. package/coverage/lcov-report/src/api/routes/user.ts.html +9 -9
  137. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  138. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +42 -42
  139. package/coverage/lcov-report/src/api/routes/view.ts.html +10 -10
  140. package/coverage/lcov-report/src/api/routes/webhook.ts.html +10 -10
  141. package/coverage/lcov-report/src/app.ts.html +32 -32
  142. package/coverage/lcov-report/src/automations/actions.ts.html +25 -25
  143. package/coverage/lcov-report/src/automations/automationUtils.ts.html +19 -91
  144. package/coverage/lcov-report/src/automations/bullboard.ts.html +11 -11
  145. package/coverage/lcov-report/src/automations/index.html +19 -19
  146. package/coverage/lcov-report/src/automations/index.ts.html +13 -13
  147. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  148. package/coverage/lcov-report/src/automations/logging/index.ts.html +11 -11
  149. package/coverage/lcov-report/src/automations/steps/bash.ts.html +34 -34
  150. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +7 -7
  151. package/coverage/lcov-report/src/automations/steps/delay.ts.html +5 -5
  152. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +7 -7
  153. package/coverage/lcov-report/src/automations/steps/discord.ts.html +33 -33
  154. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +35 -35
  155. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +31 -31
  156. package/coverage/lcov-report/src/automations/steps/filter.ts.html +6 -6
  157. package/coverage/lcov-report/src/automations/steps/index.html +83 -83
  158. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  159. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  160. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +14 -14
  161. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +17 -17
  162. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +28 -28
  163. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +18 -18
  164. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  165. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +7 -7
  166. package/coverage/lcov-report/src/automations/steps/utils.ts.html +16 -16
  167. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +22 -22
  168. package/coverage/lcov-report/src/automations/tests/utilities/index.html +5 -5
  169. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +26 -26
  170. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +3 -3
  171. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +3 -3
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  173. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +8 -8
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +3 -3
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +3 -3
  176. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +3 -3
  177. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +3 -3
  178. package/coverage/lcov-report/src/automations/triggers.ts.html +21 -21
  179. package/coverage/lcov-report/src/automations/utils.ts.html +56 -56
  180. package/coverage/lcov-report/src/constants/index.html +1 -1
  181. package/coverage/lcov-report/src/constants/index.ts.html +92 -92
  182. package/coverage/lcov-report/src/constants/layouts.ts.html +4 -4
  183. package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
  184. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +23 -23
  185. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +2 -2
  186. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +2 -2
  187. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  188. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +2 -2
  189. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +2 -2
  190. package/coverage/lcov-report/src/db/dynamoClient.ts.html +16 -16
  191. package/coverage/lcov-report/src/db/inMemoryView.ts.html +5 -5
  192. package/coverage/lcov-report/src/db/index.html +19 -19
  193. package/coverage/lcov-report/src/db/index.ts.html +9 -9
  194. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +8 -8
  195. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  196. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  197. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +15 -15
  198. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +12 -12
  199. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  200. package/coverage/lcov-report/src/db/utils.ts.html +79 -79
  201. package/coverage/lcov-report/src/definitions/automations.ts.html +4 -4
  202. package/coverage/lcov-report/src/definitions/datasource.ts.html +4 -4
  203. package/coverage/lcov-report/src/definitions/index.html +1 -1
  204. package/coverage/lcov-report/src/environment.ts.html +28 -40
  205. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +6 -6
  206. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +5 -5
  207. package/coverage/lcov-report/src/events/index.html +1 -1
  208. package/coverage/lcov-report/src/events/index.ts.html +4 -4
  209. package/coverage/lcov-report/src/events/utils.ts.html +3 -3
  210. package/coverage/lcov-report/src/index.html +25 -25
  211. package/coverage/lcov-report/src/index.ts.html +1 -1
  212. package/coverage/lcov-report/src/integrations/airtable.ts.html +5 -5
  213. package/coverage/lcov-report/src/integrations/arangodb.ts.html +5 -5
  214. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  215. package/coverage/lcov-report/src/integrations/base/query.ts.html +3 -3
  216. package/coverage/lcov-report/src/integrations/base/sql.ts.html +14 -14
  217. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +8 -8
  218. package/coverage/lcov-report/src/integrations/base/utils.ts.html +3 -3
  219. package/coverage/lcov-report/src/integrations/couchdb.ts.html +5 -5
  220. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +6 -6
  221. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +5 -5
  222. package/coverage/lcov-report/src/integrations/firebase.ts.html +5 -5
  223. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +12 -12
  224. package/coverage/lcov-report/src/integrations/index.html +5 -5
  225. package/coverage/lcov-report/src/integrations/index.ts.html +47 -35
  226. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +8 -8
  227. package/coverage/lcov-report/src/integrations/mongodb.ts.html +5 -5
  228. package/coverage/lcov-report/src/integrations/mysql.ts.html +10 -10
  229. package/coverage/lcov-report/src/integrations/oracle.ts.html +13 -13
  230. package/coverage/lcov-report/src/integrations/postgres.ts.html +42 -42
  231. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  232. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +13 -13
  233. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  234. package/coverage/lcov-report/src/integrations/rest.ts.html +16 -16
  235. package/coverage/lcov-report/src/integrations/s3.ts.html +6 -6
  236. package/coverage/lcov-report/src/integrations/snowflake.ts.html +5 -5
  237. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  238. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  239. package/coverage/lcov-report/src/integrations/utils.ts.html +36 -36
  240. package/coverage/lcov-report/src/middleware/appInfo.ts.html +7 -7
  241. package/coverage/lcov-report/src/middleware/authorized.ts.html +28 -28
  242. package/coverage/lcov-report/src/middleware/builder.ts.html +17 -17
  243. package/coverage/lcov-report/src/middleware/currentapp.ts.html +39 -39
  244. package/coverage/lcov-report/src/middleware/index.html +1 -1
  245. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  246. package/coverage/lcov-report/src/middleware/publicApi.ts.html +4 -4
  247. package/coverage/lcov-report/src/middleware/resourceId.ts.html +22 -22
  248. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  249. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  250. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +5 -5
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +5 -5
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +5 -5
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +5 -5
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +5 -5
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +4 -4
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +19 -19
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -13
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +7 -7
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +6 -6
  264. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +15 -15
  265. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  266. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +5 -5
  267. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +8 -8
  268. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  269. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +6 -6
  270. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +6 -6
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +5 -5
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +4 -4
  275. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +6 -6
  276. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  277. package/coverage/lcov-report/src/migrations/index.html +1 -1
  278. package/coverage/lcov-report/src/migrations/index.ts.html +32 -32
  279. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  280. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  281. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  282. package/coverage/lcov-report/src/sdk/app/applications/index.html +15 -15
  283. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +4 -4
  284. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +34 -34
  285. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +9 -9
  286. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  287. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  288. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +6 -6
  289. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  290. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +17 -17
  291. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +99 -117
  292. package/coverage/lcov-report/src/sdk/app/backups/index.html +30 -30
  293. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +5 -5
  294. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +73 -73
  295. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +265 -0
  296. package/coverage/lcov-report/src/sdk/app/rows/index.html +146 -0
  297. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +106 -0
  298. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +139 -0
  299. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  300. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +8 -8
  301. package/coverage/lcov-report/src/sdk/index.html +5 -5
  302. package/coverage/lcov-report/src/sdk/index.ts.html +16 -10
  303. package/coverage/lcov-report/src/sdk/users/index.html +5 -5
  304. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  305. package/coverage/lcov-report/src/sdk/users/utils.ts.html +34 -34
  306. package/coverage/lcov-report/src/startup.ts.html +42 -42
  307. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +125 -182
  308. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  309. package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
  310. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  311. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +30 -30
  312. package/coverage/lcov-report/src/threads/automation.ts.html +103 -34
  313. package/coverage/lcov-report/src/threads/index.html +19 -19
  314. package/coverage/lcov-report/src/threads/index.ts.html +25 -25
  315. package/coverage/lcov-report/src/threads/query.ts.html +71 -71
  316. package/coverage/lcov-report/src/threads/utils.ts.html +18 -18
  317. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +3 -3
  318. package/coverage/lcov-report/src/utilities/centralPath.ts.html +4 -4
  319. package/coverage/lcov-report/src/utilities/csvParser.ts.html +8 -8
  320. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.html +19 -79
  322. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1049 -20
  323. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
  324. package/coverage/lcov-report/src/utilities/global.ts.html +43 -43
  325. package/coverage/lcov-report/src/utilities/index.html +63 -48
  326. package/coverage/lcov-report/src/utilities/index.ts.html +168 -36
  327. package/coverage/lcov-report/src/utilities/plugins.ts.html +151 -0
  328. package/coverage/lcov-report/src/utilities/redis.ts.html +32 -32
  329. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  330. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  331. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +28 -28
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +33 -60
  333. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +3 -3
  334. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +38 -38
  335. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +32 -32
  336. package/coverage/lcov-report/src/utilities/security.ts.html +6 -6
  337. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +1 -1
  338. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  339. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +35 -35
  340. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
  341. package/coverage/lcov-report/src/utilities/users.ts.html +6 -6
  342. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +56 -56
  343. package/coverage/lcov-report/src/watch.ts.html +9 -9
  344. package/coverage/lcov-report/src/websocket.ts.html +15 -15
  345. package/coverage/lcov.info +7220 -7210
  346. package/dist/api/controllers/application.js +35 -47
  347. package/dist/api/controllers/cloud.js +2 -6
  348. package/dist/api/controllers/deploy/index.js +60 -43
  349. package/dist/api/controllers/plugin/index.js +6 -6
  350. package/dist/api/controllers/public/applications.js +1 -22
  351. package/dist/api/controllers/row/ExternalRequest.js +1 -0
  352. package/dist/api/controllers/row/internal.js +12 -12
  353. package/dist/api/controllers/row/staticFormula.js +1 -1
  354. package/dist/api/controllers/static/index.js +11 -8
  355. package/dist/api/controllers/view/index.js +2 -2
  356. package/dist/api/routes/application.js +0 -3
  357. package/dist/api/routes/deploy.js +2 -1
  358. package/dist/api/routes/public/applications.js +0 -37
  359. package/dist/api/routes/public/middleware/mapper.js +0 -3
  360. package/dist/api/routes/tests/utilities/TestFunctions.js +167 -0
  361. package/dist/api/routes/tests/utilities/index.js +131 -0
  362. package/dist/automations/automationUtils.js +1 -26
  363. package/dist/automations/tests/utilities/index.js +81 -0
  364. package/dist/environment.js +1 -5
  365. package/dist/integrations/googlesheets.js +1 -1
  366. package/dist/integrations/index.js +2 -1
  367. package/dist/migrations/functions/backfill/global/configs.js +4 -4
  368. package/dist/package.json +7 -9
  369. package/dist/sdk/app/backups/imports.js +26 -38
  370. package/dist/sdk/app/rows/attachments.js +61 -0
  371. package/dist/sdk/app/rows/index.js +28 -0
  372. package/dist/sdk/app/rows/rows.js +30 -0
  373. package/dist/sdk/index.js +2 -0
  374. package/dist/tests/utilities/TestConfiguration.js +562 -0
  375. package/dist/tests/utilities/controllers.js +40 -0
  376. package/dist/tests/utilities/structures.js +168 -0
  377. package/dist/threads/automation.js +28 -4
  378. package/dist/tsconfig.build.tsbuildinfo +1 -1
  379. package/dist/utilities/fileSystem/clientLibrary.js +3 -3
  380. package/dist/utilities/fileSystem/index.js +342 -18
  381. package/dist/utilities/index.js +44 -1
  382. package/dist/utilities/plugins.js +26 -0
  383. package/dist/utilities/rowProcessor/index.js +4 -12
  384. package/package.json +8 -10
  385. package/scripts/dev/manage.js +16 -0
  386. package/specs/openapi.json +0 -84
  387. package/specs/openapi.yaml +0 -53
  388. package/specs/resources/application.js +0 -19
  389. package/src/api/controllers/application.ts +36 -61
  390. package/src/api/controllers/auth.ts +2 -2
  391. package/src/api/controllers/cloud.ts +6 -10
  392. package/src/api/controllers/deploy/Deployment.ts +0 -1
  393. package/src/api/controllers/deploy/index.ts +58 -40
  394. package/src/api/controllers/plugin/index.ts +9 -14
  395. package/src/api/controllers/public/applications.ts +0 -17
  396. package/src/api/controllers/row/ExternalRequest.ts +1 -0
  397. package/src/api/controllers/row/internal.ts +23 -24
  398. package/src/api/controllers/row/staticFormula.ts +2 -5
  399. package/src/api/controllers/row/utils.ts +1 -2
  400. package/src/api/controllers/static/index.ts +10 -6
  401. package/src/api/controllers/view/index.ts +2 -2
  402. package/src/api/routes/application.ts +0 -11
  403. package/src/api/routes/deploy.ts +1 -0
  404. package/src/api/routes/index.ts +3 -4
  405. package/src/api/routes/public/applications.ts +0 -44
  406. package/src/api/routes/public/middleware/mapper.ts +0 -4
  407. package/src/api/routes/tests/__snapshots__/{datasource.spec.ts.snap → datasource.spec.js.snap} +0 -0
  408. package/src/api/routes/tests/analytics.spec.js +1 -1
  409. package/src/api/routes/tests/{application.spec.ts → application.spec.js} +18 -94
  410. package/src/api/routes/tests/{backup.spec.ts → backup.spec.js} +6 -17
  411. package/src/api/routes/tests/{datasource.spec.ts → datasource.spec.js} +15 -23
  412. package/src/api/routes/tests/deployment.spec.ts +25 -0
  413. package/src/api/routes/tests/permissions.spec.js +1 -1
  414. package/src/api/routes/tests/routing.spec.js +2 -1
  415. package/src/api/routes/tests/row.spec.js +2 -4
  416. package/src/api/routes/tests/static.spec.js +17 -2
  417. package/src/api/routes/tests/table.spec.js +2 -8
  418. package/src/api/routes/tests/user.spec.js +0 -86
  419. package/src/api/routes/tests/utilities/index.ts +2 -2
  420. package/src/api/routes/tests/webhook.spec.js +1 -1
  421. package/src/automations/automationUtils.ts +0 -24
  422. package/src/automations/tests/utilities/index.ts +2 -2
  423. package/src/automations/unitTests/automationUtils.spec.js +17 -0
  424. package/src/definitions/openapi.ts +0 -10
  425. package/src/environment.ts +1 -5
  426. package/src/integrations/googlesheets.ts +1 -1
  427. package/src/integrations/index.ts +5 -1
  428. package/src/migrations/functions/backfill/global/configs.ts +4 -5
  429. package/src/sdk/app/backups/imports.ts +40 -46
  430. package/src/sdk/app/rows/attachments.ts +60 -0
  431. package/src/sdk/app/rows/index.ts +7 -0
  432. package/src/sdk/app/rows/rows.ts +18 -0
  433. package/src/sdk/index.ts +2 -0
  434. package/src/sdk/tests/attachments.spec.ts +79 -0
  435. package/src/tests/jestSetup.ts +1 -4
  436. package/src/tests/utilities/TestConfiguration.ts +4 -23
  437. package/src/threads/automation.ts +27 -4
  438. package/src/utilities/fileSystem/clientLibrary.ts +1 -1
  439. package/src/utilities/fileSystem/index.ts +348 -5
  440. package/src/utilities/index.ts +45 -1
  441. package/src/utilities/plugins.ts +22 -0
  442. package/src/utilities/rowProcessor/index.ts +8 -17
  443. package/tsconfig.build.json +0 -2
  444. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +0 -343
  445. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +0 -595
  446. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +0 -280
  447. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +0 -193
  448. package/dist/utilities/fileSystem/app.js +0 -97
  449. package/dist/utilities/fileSystem/filesystem.js +0 -182
  450. package/dist/utilities/fileSystem/plugin.js +0 -63
  451. package/dist/utilities/fileSystem/template.js +0 -44
  452. package/src/api/routes/tests/cloud.spec.ts +0 -65
  453. package/src/api/routes/tests/data/budibase-component-1.0.1.tgz +0 -0
  454. package/src/api/routes/tests/data/comment-box-1.0.2.tar.gz +0 -0
  455. package/src/api/routes/tests/data/export-test.tar.gz +0 -0
  456. package/src/api/routes/tests/plugin.spec.ts +0 -179
  457. package/src/automations/tests/bash.spec.js +0 -34
  458. package/src/automations/tests/discord.spec.js +0 -27
  459. package/src/automations/tests/executeQuery.spec.js +0 -49
  460. package/src/automations/tests/executeScript.spec.js +0 -48
  461. package/src/automations/tests/sendSmtpEmail.spec.js +0 -71
  462. package/src/automations/tests/serverLog.spec.js +0 -22
  463. package/src/automations/tests/zapier.spec.js +0 -27
  464. package/src/automations/unitTests/automationUtils.spec.ts +0 -65
  465. package/src/utilities/fileSystem/app.ts +0 -86
  466. package/src/utilities/fileSystem/filesystem.ts +0 -170
  467. package/src/utilities/fileSystem/plugin.ts +0 -65
  468. package/src/utilities/fileSystem/template.ts +0 -36
  469. package/src/utilities/rowProcessor/tests/utils.spec.ts +0 -57
@@ -65,8 +65,8 @@
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">57x</span>
69
- <span class="cline-any cline-yes">57x</span>
68
+ <a name='L3'></a><a href='#L3'>3</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">50x</span>
69
+ <span class="cline-any cline-yes">50x</span>
70
70
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export const DB_EXPORT_FILE = "db.txt"
71
71
  export const GLOBAL_DB_EXPORT_FILE = "global.txt"
72
72
  &nbsp;</pre></td></tr></table></pre>
@@ -76,7 +76,7 @@ export const GLOBAL_DB_EXPORT_FILE = "global.txt"
76
76
  <div class='footer quiet pad2 space-top1 center small'>
77
77
  Code coverage generated by
78
78
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
79
- at Fri Jan 06 2023 11:09:36 GMT+0000 (Coordinated Universal Time)
79
+ at Fri Jan 06 2023 17:12:09 GMT+0000 (Coordinated Universal Time)
80
80
  </div>
81
81
  <script src="../../../../prettify.js"></script>
82
82
  <script>
@@ -236,22 +236,22 @@
236
236
  <a name='L171'></a><a href='#L171'>171</a>
237
237
  <a name='L172'></a><a href='#L172'>172</a>
238
238
  <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">57x</span>
240
- <span class="cline-any cline-yes">57x</span>
241
- <span class="cline-any cline-yes">57x</span>
242
- <span class="cline-any cline-yes">57x</span>
243
- <span class="cline-any cline-yes">57x</span>
239
+ <a name='L174'></a><a href='#L174'>174</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">50x</span>
240
+ <span class="cline-any cline-yes">50x</span>
241
+ <span class="cline-any cline-yes">50x</span>
242
+ <span class="cline-any cline-yes">50x</span>
243
+ <span class="cline-any cline-yes">50x</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
245
  <span class="cline-any cline-neutral">&nbsp;</span>
246
246
  <span class="cline-any cline-neutral">&nbsp;</span>
247
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-yes">57x</span>
249
- <span class="cline-any cline-yes">57x</span>
250
- <span class="cline-any cline-yes">57x</span>
251
- <span class="cline-any cline-yes">57x</span>
252
- <span class="cline-any cline-yes">57x</span>
253
- <span class="cline-any cline-yes">57x</span>
254
- <span class="cline-any cline-yes">57x</span>
248
+ <span class="cline-any cline-yes">50x</span>
249
+ <span class="cline-any cline-yes">50x</span>
250
+ <span class="cline-any cline-yes">50x</span>
251
+ <span class="cline-any cline-yes">50x</span>
252
+ <span class="cline-any cline-yes">50x</span>
253
+ <span class="cline-any cline-yes">50x</span>
254
+ <span class="cline-any cline-yes">50x</span>
255
255
  <span class="cline-any cline-neutral">&nbsp;</span>
256
256
  <span class="cline-any cline-neutral">&nbsp;</span>
257
257
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -282,7 +282,7 @@
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">57x</span>
285
+ <span class="cline-any cline-yes">50x</span>
286
286
  <span class="cline-any cline-yes">1x</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
288
  <span class="cline-any cline-yes">1x</span>
@@ -319,7 +319,7 @@
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">57x</span>
322
+ <span class="cline-any cline-yes">50x</span>
323
323
  <span class="cline-any cline-yes">1x</span>
324
324
  <span class="cline-any cline-yes">1x</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -371,7 +371,7 @@
371
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">57x</span>
374
+ <span class="cline-any cline-yes">50x</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -405,7 +405,7 @@
405
405
  <span class="cline-any cline-neutral">&nbsp;</span>
406
406
  <span class="cline-any cline-neutral">&nbsp;</span>
407
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-yes">57x</span>
408
+ <span class="cline-any cline-yes">50x</span>
409
409
  <span class="cline-any cline-yes">1x</span>
410
410
  <span class="cline-any cline-yes">1x</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -589,7 +589,7 @@ export async function streamExportApp(appId: string, excludeRows: boolean) {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
592
- at Fri Jan 06 2023 11:09:36 GMT+0000 (Coordinated Universal Time)
592
+ at Fri Jan 06 2023 17:12:09 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  <script src="../../../../prettify.js"></script>
595
595
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">51.61% </span>
26
+ <span class="strong">59.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>48/93</span>
28
+ <span class='fraction'>53/89</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">52.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/42</span>
35
+ <span class='fraction'>21/40</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">72.72% </span>
40
+ <span class="strong">58.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/11</span>
42
+ <span class='fraction'>7/12</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">51.64% </span>
47
+ <span class="strong">60.22% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/91</span>
49
+ <span class='fraction'>53/88</span>
50
50
  </div>
51
51
 
52
52
 
@@ -252,30 +252,24 @@
252
252
  <a name='L187'></a><a href='#L187'>187</a>
253
253
  <a name='L188'></a><a href='#L188'>188</a>
254
254
  <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">57x</span>
255
+ <a name='L190'></a><a href='#L190'>190</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">50x</span>
262
256
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">57x</span>
264
- <span class="cline-any cline-yes">57x</span>
265
- <span class="cline-any cline-yes">57x</span>
266
- <span class="cline-any cline-yes">57x</span>
267
- <span class="cline-any cline-yes">57x</span>
268
- <span class="cline-any cline-yes">57x</span>
269
- <span class="cline-any cline-yes">57x</span>
270
- <span class="cline-any cline-yes">57x</span>
271
- <span class="cline-any cline-yes">57x</span>
257
+ <span class="cline-any cline-yes">50x</span>
258
+ <span class="cline-any cline-yes">50x</span>
259
+ <span class="cline-any cline-yes">50x</span>
260
+ <span class="cline-any cline-yes">50x</span>
261
+ <span class="cline-any cline-yes">50x</span>
262
+ <span class="cline-any cline-yes">50x</span>
263
+ <span class="cline-any cline-yes">50x</span>
264
+ <span class="cline-any cline-yes">50x</span>
265
+ <span class="cline-any cline-yes">50x</span>
272
266
  <span class="cline-any cline-neutral">&nbsp;</span>
273
267
  <span class="cline-any cline-neutral">&nbsp;</span>
274
268
  <span class="cline-any cline-neutral">&nbsp;</span>
275
269
  <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-yes">50x</span>
271
+ <span class="cline-any cline-yes">50x</span>
276
272
  <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">57x</span>
278
- <span class="cline-any cline-yes">57x</span>
279
273
  <span class="cline-any cline-neutral">&nbsp;</span>
280
274
  <span class="cline-any cline-neutral">&nbsp;</span>
281
275
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -286,53 +280,47 @@
286
280
  <span class="cline-any cline-neutral">&nbsp;</span>
287
281
  <span class="cline-any cline-neutral">&nbsp;</span>
288
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">30x</span>
289
284
  <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-yes">2x</span>
291
- <span class="cline-any cline-yes">2x</span>
292
- <span class="cline-any cline-yes">1x</span>
293
- <span class="cline-any cline-yes">1x</span>
294
- <span class="cline-any cline-yes">5x</span>
295
- <span class="cline-any cline-no">&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">1x</span>
300
- <span class="cline-any cline-yes">1x</span>
285
+ <span class="cline-any cline-yes">30x</span>
301
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-yes">30x</span>
302
288
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-no">&nbsp;</span>
289
+ <span class="cline-any cline-yes">30x</span>
304
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-yes">30x</span>
292
+ <span class="cline-any cline-yes">30x</span>
293
+ <span class="cline-any cline-yes">30x</span>
305
294
  <span class="cline-any cline-neutral">&nbsp;</span>
306
295
  <span class="cline-any cline-neutral">&nbsp;</span>
307
296
  <span class="cline-any cline-neutral">&nbsp;</span>
308
297
  <span class="cline-any cline-neutral">&nbsp;</span>
309
298
  <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-no">&nbsp;</span>
311
- <span class="cline-any cline-no">&nbsp;</span>
312
- <span class="cline-any cline-no">&nbsp;</span>
313
- <span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
299
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-no">&nbsp;</span>
300
+ <span class="cline-any cline-yes">50x</span>
318
301
  <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
302
+ <span class="cline-any cline-yes">3x</span>
303
+ <span class="cline-any cline-yes">3x</span>
304
+ <span class="cline-any cline-yes">3x</span>
305
+ <span class="cline-any cline-yes">2x</span>
320
306
  <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
307
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-no">&nbsp;</span>
324
- <span class="cline-any cline-no">&nbsp;</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-yes">2x</span>
327
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-yes">30x</span>
312
+ <span class="cline-any cline-yes">30x</span>
313
+ <span class="cline-any cline-yes">30x</span>
314
+ <span class="cline-any cline-yes">30x</span>
328
315
  <span class="cline-any cline-neutral">&nbsp;</span>
329
316
  <span class="cline-any cline-neutral">&nbsp;</span>
330
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-yes">30x</span>
331
319
  <span class="cline-any cline-neutral">&nbsp;</span>
332
320
  <span class="cline-any cline-neutral">&nbsp;</span>
333
321
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-yes">3x</span>
336
324
  <span class="cline-any cline-neutral">&nbsp;</span>
337
325
  <span class="cline-any cline-neutral">&nbsp;</span>
338
326
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -381,27 +369,27 @@
381
369
  <span class="cline-any cline-neutral">&nbsp;</span>
382
370
  <span class="cline-any cline-neutral">&nbsp;</span>
383
371
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">57x</span>
385
- <span class="cline-any cline-yes">1x</span>
386
- <span class="cline-any cline-yes">1x</span>
372
+ <span class="cline-any cline-yes">50x</span>
373
+ <span class="cline-any cline-no">&nbsp;</span>
374
+ <span class="cline-any cline-no">&nbsp;</span>
387
375
  <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">1x</span>
376
+ <span class="cline-any cline-no">&nbsp;</span>
389
377
  <span class="cline-any cline-neutral">&nbsp;</span>
390
378
  <span class="cline-any cline-neutral">&nbsp;</span>
391
379
  <span class="cline-any cline-neutral">&nbsp;</span>
392
380
  <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-yes">1x</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
394
382
  <span class="cline-any cline-neutral">&nbsp;</span>
395
383
  <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-yes">57x</span>
397
- <span class="cline-any cline-yes">1x</span>
384
+ <span class="cline-any cline-yes">50x</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
398
386
  <span class="cline-any cline-neutral">&nbsp;</span>
399
387
  <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-yes">57x</span>
401
- <span class="cline-any cline-yes">3x</span>
388
+ <span class="cline-any cline-yes">50x</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
402
390
  <span class="cline-any cline-neutral">&nbsp;</span>
403
391
  <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-yes">57x</span>
392
+ <span class="cline-any cline-yes">50x</span>
405
393
  <span class="cline-any cline-neutral">&nbsp;</span>
406
394
  <span class="cline-any cline-neutral">&nbsp;</span>
407
395
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -454,19 +442,18 @@
454
442
  <span class="cline-any cline-yes">2x</span>
455
443
  <span class="cline-any cline-neutral">&nbsp;</span>
456
444
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { db as dbCore, objectStore } from "@budibase/backend-core"
457
- import { Database } from "@budibase/types"
445
+ import { Database, Row } from "@budibase/types"
458
446
  import { getAutomationParams, TABLE_ROW_PREFIX } from "../../../db/utils"
459
447
  import { budibaseTempDir } from "../../../utilities/budibaseDir"
460
448
  import { DB_EXPORT_FILE, GLOBAL_DB_EXPORT_FILE } from "./constants"
461
449
  import { downloadTemplate } from "../../../utilities/fileSystem"
462
- import { FieldTypes, ObjectStoreBuckets } from "../../../constants"
450
+ import { ObjectStoreBuckets } from "../../../constants"
463
451
  import { join } from "path"
464
452
  import fs from "fs"
465
453
  import sdk from "../../"
466
454
  import {
467
455
  Automation,
468
456
  AutomationTriggerStepId,
469
- CouchFindOptions,
470
457
  RowAttachment,
471
458
  } from "@budibase/types"
472
459
  const uuid = require("uuid/v4")
@@ -480,54 +467,49 @@ type TemplateType = {
480
467
  key?: string
481
468
  }
482
469
  &nbsp;
483
- async function updateAttachmentColumns(prodAppId: string, db: Database) {
470
+ function rewriteAttachmentUrl(appId: string, attachment: RowAttachment) {
471
+ // URL looks like: /prod-budi-app-assets/appId/attachments/file.csv
472
+ const urlParts = attachment.url.split("/")
473
+ // drop the first empty element
474
+ urlParts.shift()
475
+ // get the prefix
476
+ const prefix = urlParts.shift()
477
+ // remove the app ID
478
+ urlParts.shift()
479
+ // add new app ID
480
+ urlParts.unshift(appId)
481
+ const key = urlParts.join("/")
482
+ return {
483
+ ...attachment,
484
+ key,
485
+ url: `/${prefix}/${key}`,
486
+ }
487
+ }
488
+ &nbsp;
489
+ export async function updateAttachmentColumns(prodAppId: string, db: Database) {
484
490
  // iterate through attachment documents and update them
485
491
  const tables = await sdk.tables.getAllInternalTables(db)
492
+ let updatedRows: Row[] = []
486
493
  for (let table of tables) {
487
- const attachmentCols: string[] = []
488
- for (let [key, column] of Object.entries(table.schema)) {
489
- <span class="missing-if-branch" title="if path not taken" >I</span>if (column.type === FieldTypes.ATTACHMENT) {
490
- <span class="cstat-no" title="statement not covered" > attachmentCols.push(key)</span>
491
- }
492
- }
493
- // no attachment columns, nothing to do
494
- if (attachmentCols.length === 0) {
495
- continue
496
- }
497
- // use the CouchDB Mango query API to lookup rows that have attachments
498
- const params: CouchFindOptions = <span class="cstat-no" title="statement not covered" >{</span>
499
- selector: {
500
- _id: {
501
- $regex: `^${TABLE_ROW_PREFIX}`,
502
- },
503
- },
504
- }
505
- <span class="cstat-no" title="statement not covered" > attachmentCols.forEach(<span class="fstat-no" title="function not covered" >col </span>=&gt; (<span class="cstat-no" title="statement not covered" >params.selector[col] = { $exists: true })</span>)</span>
506
- const { rows } = <span class="cstat-no" title="statement not covered" >await dbCore.directCouchFind(db.name, params)</span>
507
- <span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
508
- <span class="cstat-no" title="statement not covered" > for (let column of attachmentCols) {</span>
509
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(row[column])) {</span>
510
- <span class="cstat-no" title="statement not covered" > continue</span>
511
- }
512
- <span class="cstat-no" title="statement not covered" > row[column] = row[column].map(<span class="fstat-no" title="function not covered" >(a</span>ttachment: RowAttachment) =&gt; {</span>
513
- // Key looks like: appId/attachments/file.csv
514
- const urlParts = <span class="cstat-no" title="statement not covered" >attachment.key.split("/")</span>
515
- // remove the app ID
516
- <span class="cstat-no" title="statement not covered" > urlParts.shift()</span>
517
- // add new app ID
518
- <span class="cstat-no" title="statement not covered" > urlParts.unshift(prodAppId)</span>
519
- const key = <span class="cstat-no" title="statement not covered" >urlParts.join("/")</span>
520
- <span class="cstat-no" title="statement not covered" > return {</span>
521
- ...attachment,
522
- key,
523
- url: "", // calculated on retrieval using key
494
+ const { rows, columns } = await sdk.rows.getRowsWithAttachments(
495
+ db.name,
496
+ table
497
+ )
498
+ updatedRows = updatedRows.concat(
499
+ rows.map(row =&gt; {
500
+ for (let column of columns) {
501
+ if (Array.isArray(row[column])) {
502
+ row[column] = row[column].map((attachment: RowAttachment) =&gt;
503
+ rewriteAttachmentUrl(prodAppId, attachment)
504
+ )
524
505
  }
525
- })
526
- }
527
- }
528
- // write back the updated attachments
529
- <span class="cstat-no" title="statement not covered" > await db.bulkDocs(rows)</span>
506
+ }
507
+ return row
508
+ })
509
+ )
530
510
  }
511
+ // write back the updated attachments
512
+ await db.bulkDocs(updatedRows)
531
513
  }
532
514
  &nbsp;
533
515
  async function updateAutomations(prodAppId: string, db: Database) {
@@ -576,24 +558,24 @@ async function getTemplateStream(template: TemplateType) {
576
558
  }
577
559
  }
578
560
  &nbsp;
579
- export function untarFile(file: { path: string }) {
580
- const tmpPath = join(budibaseTempDir(), uuid())
581
- fs.mkdirSync(tmpPath)
561
+ export function <span class="fstat-no" title="function not covered" >untarFile(</span>file: { path: string }) {
562
+ const tmpPath = <span class="cstat-no" title="statement not covered" >join(budibaseTempDir(), uuid())</span>
563
+ <span class="cstat-no" title="statement not covered" > fs.mkdirSync(tmpPath)</span>
582
564
  // extract the tarball
583
- tar.extract({
565
+ <span class="cstat-no" title="statement not covered" > tar.extract({</span>
584
566
  sync: true,
585
567
  cwd: tmpPath,
586
568
  file: file.path,
587
569
  })
588
- return tmpPath
570
+ <span class="cstat-no" title="statement not covered" > return tmpPath</span>
589
571
  }
590
572
  &nbsp;
591
- export function getGlobalDBFile(tmpPath: string) {
592
- return fs.readFileSync(join(tmpPath, GLOBAL_DB_EXPORT_FILE), "utf8")
573
+ export function <span class="fstat-no" title="function not covered" >getGlobalDBFile(</span>tmpPath: string) {
574
+ <span class="cstat-no" title="statement not covered" > return fs.readFileSync(join(tmpPath, GLOBAL_DB_EXPORT_FILE), "utf8")</span>
593
575
  }
594
576
  &nbsp;
595
- export function getListOfAppsInMulti(tmpPath: string) {
596
- return fs.readdirSync(tmpPath).filter(dir =&gt; dir !== GLOBAL_DB_EXPORT_FILE)
577
+ export function <span class="fstat-no" title="function not covered" >getListOfAppsInMulti(</span>tmpPath: string) {
578
+ <span class="cstat-no" title="statement not covered" > return fs.readdirSync(tmpPath).filter(<span class="fstat-no" title="function not covered" >dir </span>=&gt; <span class="cstat-no" title="statement not covered" >dir !== GLOBAL_DB_EXPORT_FILE)</span></span>
597
579
  }
598
580
  &nbsp;
599
581
  export async function importApp(
@@ -655,7 +637,7 @@ export async function importApp(
655
637
  <div class='footer quiet pad2 space-top1 center small'>
656
638
  Code coverage generated by
657
639
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
658
- at Fri Jan 06 2023 11:09:36 GMT+0000 (Coordinated Universal Time)
640
+ at Fri Jan 06 2023 17:12:09 GMT+0000 (Coordinated Universal Time)
659
641
  </div>
660
642
  <script src="../../../../prettify.js"></script>
661
643
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">63.63% </span>
26
+ <span class="strong">54.14% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>133/209</span>
28
+ <span class='fraction'>111/205</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.75% </span>
33
+ <span class="strong">52.56% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>43/80</span>
35
+ <span class='fraction'>41/78</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80% </span>
40
+ <span class="strong">41.46% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>32/40</span>
42
+ <span class='fraction'>17/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">63.68% </span>
47
+ <span class="strong">54.54% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>128/201</span>
49
+ <span class='fraction'>108/198</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="imports.ts"><a href="imports.ts.html">imports.ts</a></td>
113
- <td data-value="51.61" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 51%"></div><div class="cover-empty" style="width: 49%"></div></div>
113
+ <td data-value="59.55" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
115
115
  </td>
116
- <td data-value="51.61" class="pct medium">51.61%</td>
117
- <td data-value="93" class="abs medium">48/93</td>
118
- <td data-value="50" class="pct medium">50%</td>
119
- <td data-value="42" class="abs medium">21/42</td>
120
- <td data-value="72.72" class="pct medium">72.72%</td>
121
- <td data-value="11" class="abs medium">8/11</td>
122
- <td data-value="51.64" class="pct medium">51.64%</td>
123
- <td data-value="91" class="abs medium">47/91</td>
116
+ <td data-value="59.55" class="pct medium">59.55%</td>
117
+ <td data-value="89" class="abs medium">53/89</td>
118
+ <td data-value="52.5" class="pct medium">52.5%</td>
119
+ <td data-value="40" class="abs medium">21/40</td>
120
+ <td data-value="58.33" class="pct medium">58.33%</td>
121
+ <td data-value="12" class="abs medium">7/12</td>
122
+ <td data-value="60.22" class="pct medium">60.22%</td>
123
+ <td data-value="88" class="abs medium">53/88</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -139,18 +139,18 @@
139
139
  </tr>
140
140
 
141
141
  <tr>
142
- <td class="file high" data-value="statistics.ts"><a href="statistics.ts.html">statistics.ts</a></td>
143
- <td data-value="100" class="pic high">
144
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
142
+ <td class="file low" data-value="statistics.ts"><a href="statistics.ts.html">statistics.ts</a></td>
143
+ <td data-value="18.18" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 18%"></div><div class="cover-empty" style="width: 82%"></div></div>
145
145
  </td>
146
- <td data-value="100" class="pct high">100%</td>
147
- <td data-value="33" class="abs high">33/33</td>
148
- <td data-value="100" class="pct high">100%</td>
149
- <td data-value="2" class="abs high">2/2</td>
150
- <td data-value="100" class="pct high">100%</td>
151
- <td data-value="14" class="abs high">14/14</td>
152
- <td data-value="100" class="pct high">100%</td>
153
- <td data-value="32" class="abs high">32/32</td>
146
+ <td data-value="18.18" class="pct low">18.18%</td>
147
+ <td data-value="33" class="abs low">6/33</td>
148
+ <td data-value="0" class="pct low">0%</td>
149
+ <td data-value="2" class="abs low">0/2</td>
150
+ <td data-value="0" class="pct low">0%</td>
151
+ <td data-value="14" class="abs low">0/14</td>
152
+ <td data-value="18.75" class="pct low">18.75%</td>
153
+ <td data-value="32" class="abs low">6/32</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Fri Jan 06 2023 11:09:36 GMT+0000 (Coordinated Universal Time)
164
+ at Fri Jan 06 2023 17:12:09 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../../prettify.js"></script>
167
167
  <script>
@@ -72,11 +72,11 @@
72
72
  <a name='L7'></a><a href='#L7'>7</a>
73
73
  <a name='L8'></a><a href='#L8'>8</a>
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">57x</span>
76
- <span class="cline-any cline-yes">57x</span>
77
- <span class="cline-any cline-yes">57x</span>
75
+ <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">50x</span>
76
+ <span class="cline-any cline-yes">50x</span>
77
+ <span class="cline-any cline-yes">50x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">57x</span>
79
+ <span class="cline-any cline-yes">50x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -97,7 +97,7 @@ export default {
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at Fri Jan 06 2023 11:09:36 GMT+0000 (Coordinated Universal Time)
100
+ at Fri Jan 06 2023 17:12:09 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  <script src="../../../../prettify.js"></script>
103
103
  <script>