@budibase/server 1.0.199 → 1.0.200-alpha.2

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 (281) hide show
  1. package/Dockerfile +2 -0
  2. package/builder/assets/index.359da19e.js +1315 -0
  3. package/builder/index.html +1 -1
  4. package/coverage/clover.xml +2089 -2001
  5. package/coverage/coverage-final.json +121 -122
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  7. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  8. package/coverage/lcov-report/api/controllers/automation.js.html +174 -72
  9. package/coverage/lcov-report/api/controllers/backup.js.html +30 -6
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
  11. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +53 -41
  13. package/coverage/lcov-report/api/controllers/dev.js.html +94 -70
  14. package/coverage/lcov-report/api/controllers/index.html +57 -72
  15. package/coverage/lcov-report/api/controllers/integration.js.html +8 -8
  16. package/coverage/lcov-report/api/controllers/layout.js.html +28 -19
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  19. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
  22. package/coverage/lcov-report/api/controllers/role.js.html +78 -48
  23. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +19 -19
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +54 -54
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +24 -24
  30. package/coverage/lcov-report/api/controllers/screen.js.html +56 -20
  31. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  32. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
  33. package/coverage/lcov-report/api/controllers/table/external.js.html +23 -17
  34. package/coverage/lcov-report/api/controllers/table/index.html +26 -26
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +85 -49
  36. package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
  37. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  38. package/coverage/lcov-report/api/controllers/view/exporters.js.html +11 -11
  39. package/coverage/lcov-report/api/controllers/view/index.html +21 -21
  40. package/coverage/lcov-report/api/controllers/view/index.js.html +275 -65
  41. package/coverage/lcov-report/api/controllers/view/utils.js.html +23 -23
  42. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +40 -40
  43. package/coverage/lcov-report/api/controllers/webhook.js.html +17 -17
  44. package/coverage/lcov-report/api/index.html +15 -15
  45. package/coverage/lcov-report/api/index.js.html +39 -45
  46. package/coverage/lcov-report/api/routes/analytics.js.html +7 -13
  47. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  48. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  49. package/coverage/lcov-report/api/routes/automation.js.html +11 -11
  50. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  51. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  52. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  53. package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
  54. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  55. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  56. package/coverage/lcov-report/api/routes/index.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  58. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  59. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  60. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  61. package/coverage/lcov-report/api/routes/permission.js.html +9 -9
  62. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  63. package/coverage/lcov-report/api/routes/role.js.html +9 -9
  64. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  65. package/coverage/lcov-report/api/routes/screen.js.html +9 -9
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/table.js.html +10 -10
  68. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  69. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  70. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/validators.js.html +36 -36
  72. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  73. package/coverage/lcov-report/api/routes/webhook.js.html +9 -9
  74. package/coverage/lcov-report/automations/actions.js.html +25 -25
  75. package/coverage/lcov-report/automations/automationUtils.js.html +8 -8
  76. package/coverage/lcov-report/automations/bullboard.js.html +35 -35
  77. package/coverage/lcov-report/automations/index.html +29 -29
  78. package/coverage/lcov-report/automations/index.js.html +29 -17
  79. package/coverage/lcov-report/automations/steps/bash.js.html +7 -7
  80. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  81. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  82. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  83. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  84. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  85. package/coverage/lcov-report/automations/steps/index.html +1 -1
  86. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  87. package/coverage/lcov-report/automations/steps/loop.js.html +2 -2
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  92. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  94. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  96. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  97. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  98. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  100. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  101. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  102. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  103. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  104. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  105. package/coverage/lcov-report/constants/index.html +1 -1
  106. package/coverage/lcov-report/constants/index.js.html +30 -30
  107. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  108. package/coverage/lcov-report/constants/screens.js.html +4 -4
  109. package/coverage/lcov-report/db/inMemoryView.js.html +5 -5
  110. package/coverage/lcov-report/db/index.html +1 -1
  111. package/coverage/lcov-report/db/index.js.html +9 -9
  112. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +17 -17
  113. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
  115. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +19 -19
  116. package/coverage/lcov-report/db/newid.js.html +4 -4
  117. package/coverage/lcov-report/db/utils.js.html +81 -81
  118. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  119. package/coverage/lcov-report/events/index.html +1 -1
  120. package/coverage/lcov-report/events/index.js.html +7 -7
  121. package/coverage/lcov-report/events/utils.js.html +10 -10
  122. package/coverage/lcov-report/index.html +74 -74
  123. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  125. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  126. package/coverage/lcov-report/middleware/builder.js.html +20 -20
  127. package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
  128. package/coverage/lcov-report/middleware/index.html +1 -1
  129. package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
  130. package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
  131. package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
  132. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  133. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  134. package/coverage/lcov-report/threads/automation.js.html +1 -1
  135. package/coverage/lcov-report/threads/index.html +1 -1
  136. package/coverage/lcov-report/threads/query.js.html +1 -1
  137. package/coverage/lcov-report/threads/utils.js.html +13 -13
  138. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  139. package/coverage/lcov-report/utilities/centralPath.js.html +14 -14
  140. package/coverage/lcov-report/utilities/csvParser.js.html +34 -34
  141. package/coverage/lcov-report/utilities/global.js.html +28 -28
  142. package/coverage/lcov-report/utilities/index.html +25 -25
  143. package/coverage/lcov-report/utilities/index.js.html +41 -41
  144. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +18 -18
  145. package/coverage/lcov-report/utilities/queue/index.html +15 -15
  146. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  148. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +59 -59
  150. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +15 -15
  151. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  152. package/coverage/lcov-report/utilities/security.js.html +8 -8
  153. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +30 -30
  156. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  157. package/coverage/lcov-report/utilities/users.js.html +7 -7
  158. package/coverage/lcov-report/utilities/workerRequests.js.html +29 -29
  159. package/coverage/lcov.info +2903 -2762
  160. package/dist/api/controllers/analytics.js +7 -30
  161. package/dist/api/controllers/application.js +56 -16
  162. package/dist/api/controllers/automation.js +31 -2
  163. package/dist/api/controllers/backup.js +7 -0
  164. package/dist/api/controllers/datasource.js +8 -2
  165. package/dist/api/controllers/deploy/index.js +6 -2
  166. package/dist/api/controllers/dev.js +9 -2
  167. package/dist/api/controllers/layout.js +3 -0
  168. package/dist/api/controllers/query/import/index.js +12 -2
  169. package/dist/api/controllers/query/import/sources/curl.js +3 -0
  170. package/dist/api/controllers/query/import/sources/openapi2.js +3 -0
  171. package/dist/api/controllers/query/import/sources/openapi3.js +3 -0
  172. package/dist/api/controllers/query/index.js +16 -2
  173. package/dist/api/controllers/role.js +11 -0
  174. package/dist/api/controllers/screen.js +10 -1
  175. package/dist/api/controllers/static/index.js +29 -15
  176. package/dist/api/controllers/table/external.js +2 -0
  177. package/dist/api/controllers/table/index.js +12 -0
  178. package/dist/api/controllers/table/utils.js +3 -3
  179. package/dist/api/controllers/view/index.js +62 -6
  180. package/dist/api/index.js +2 -4
  181. package/dist/api/routes/analytics.js +1 -3
  182. package/dist/app.js +16 -8
  183. package/dist/automations/index.js +4 -0
  184. package/dist/environment.js +4 -2
  185. package/dist/migrations/functions/backfill/app/automations.js +31 -0
  186. package/dist/migrations/functions/backfill/app/datasources.js +28 -0
  187. package/dist/migrations/functions/backfill/app/layouts.js +33 -0
  188. package/dist/migrations/functions/backfill/app/queries.js +32 -0
  189. package/dist/migrations/functions/backfill/app/roles.js +28 -0
  190. package/dist/migrations/functions/backfill/app/screens.js +28 -0
  191. package/dist/migrations/functions/backfill/app/tables.js +40 -0
  192. package/dist/migrations/functions/backfill/app.js +175 -0
  193. package/dist/migrations/functions/backfill/global/configs.js +61 -0
  194. package/dist/migrations/functions/backfill/global/quotas.js +60 -0
  195. package/dist/migrations/functions/backfill/global/users.js +50 -0
  196. package/dist/migrations/functions/backfill/global.js +189 -0
  197. package/dist/migrations/functions/backfill/index.js +32 -0
  198. package/dist/migrations/functions/backfill/installation.js +81 -0
  199. package/dist/migrations/index.js +95 -31
  200. package/dist/migrations/tests/helpers.js +72 -0
  201. package/dist/migrations/tests/structures.js +37 -0
  202. package/dist/package.json +79 -69
  203. package/dist/tests/utilities/TestConfiguration.js +121 -93
  204. package/dist/tests/utilities/structures.js +45 -0
  205. package/dist/tsconfig.build.tsbuildinfo +1 -1
  206. package/nodemon.json +1 -1
  207. package/package.json +80 -70
  208. package/scripts/dev/manage.js +2 -0
  209. package/scripts/jestSetup.js +7 -0
  210. package/scripts/likeCypress.ts +1 -1
  211. package/src/api/controllers/analytics.ts +8 -0
  212. package/src/api/controllers/application.ts +60 -18
  213. package/src/api/controllers/automation.js +36 -2
  214. package/src/api/controllers/backup.js +8 -0
  215. package/src/api/controllers/datasource.js +8 -4
  216. package/src/api/controllers/deploy/index.ts +6 -2
  217. package/src/api/controllers/dev.js +10 -2
  218. package/src/api/controllers/layout.js +3 -0
  219. package/src/api/controllers/query/import/index.ts +16 -3
  220. package/src/api/controllers/query/import/sources/base/index.ts +2 -1
  221. package/src/api/controllers/query/import/sources/curl.ts +4 -0
  222. package/src/api/controllers/query/import/sources/openapi2.ts +4 -0
  223. package/src/api/controllers/query/import/sources/openapi3.ts +4 -0
  224. package/src/api/controllers/query/import/tests/index.spec.js +20 -7
  225. package/src/api/controllers/query/index.ts +16 -3
  226. package/src/api/controllers/role.js +10 -0
  227. package/src/api/controllers/screen.js +13 -1
  228. package/src/api/controllers/static/index.js +28 -15
  229. package/src/api/controllers/table/external.js +2 -0
  230. package/src/api/controllers/table/index.js +12 -0
  231. package/src/api/controllers/table/utils.ts +4 -4
  232. package/src/api/controllers/view/index.js +76 -6
  233. package/src/api/index.js +2 -4
  234. package/src/api/routes/analytics.js +1 -3
  235. package/src/api/routes/public/utils/Endpoint.ts +1 -1
  236. package/src/api/routes/tests/__snapshots__/datasource.spec.js.snap +5 -1
  237. package/src/api/routes/tests/application.spec.js +64 -4
  238. package/src/api/routes/tests/automation.spec.js +168 -60
  239. package/src/api/routes/tests/backup.spec.js +2 -0
  240. package/src/api/routes/tests/data/export.txt +1 -0
  241. package/src/api/routes/tests/datasource.spec.js +5 -0
  242. package/src/api/routes/tests/deployment.spec.js +25 -0
  243. package/src/api/routes/tests/dev.spec.js +40 -0
  244. package/src/api/routes/tests/layout.spec.js +4 -0
  245. package/src/api/routes/tests/query.spec.js +56 -13
  246. package/src/api/routes/tests/role.spec.js +40 -7
  247. package/src/api/routes/tests/row.spec.js +2 -3
  248. package/src/api/routes/tests/screen.spec.js +30 -4
  249. package/src/api/routes/tests/static.spec.js +120 -54
  250. package/src/api/routes/tests/table.spec.js +102 -38
  251. package/src/api/routes/tests/view.spec.js +222 -43
  252. package/src/app.ts +18 -9
  253. package/src/automations/index.js +4 -0
  254. package/src/automations/tests/delay.spec.js +4 -0
  255. package/src/environment.js +5 -2
  256. package/src/migrations/functions/backfill/app/automations.ts +26 -0
  257. package/src/migrations/functions/backfill/app/datasources.ts +22 -0
  258. package/src/migrations/functions/backfill/app/layouts.ts +29 -0
  259. package/src/migrations/functions/backfill/app/queries.ts +33 -0
  260. package/src/migrations/functions/backfill/app/roles.ts +22 -0
  261. package/src/migrations/functions/backfill/app/screens.ts +22 -0
  262. package/src/migrations/functions/backfill/app/tables.ts +36 -0
  263. package/src/migrations/functions/backfill/app.ts +148 -0
  264. package/src/migrations/functions/backfill/global/configs.ts +66 -0
  265. package/src/migrations/functions/backfill/global/quotas.ts +60 -0
  266. package/src/migrations/functions/backfill/global/users.ts +49 -0
  267. package/src/migrations/functions/backfill/global.ts +194 -0
  268. package/src/migrations/functions/backfill/index.ts +7 -0
  269. package/src/migrations/functions/backfill/installation.ts +51 -0
  270. package/src/migrations/index.ts +120 -51
  271. package/src/migrations/tests/helpers.ts +40 -0
  272. package/src/migrations/tests/index.spec.ts +132 -0
  273. package/src/migrations/tests/structures.ts +66 -0
  274. package/src/module.d.ts +0 -1
  275. package/src/tests/utilities/TestConfiguration.js +138 -90
  276. package/src/tests/utilities/structures.js +71 -0
  277. package/tsconfig.build.json +20 -5
  278. package/tsconfig.json +22 -17
  279. package/builder/assets/index.107ba2e5.js +0 -1315
  280. package/coverage/lcov-report/api/controllers/analytics.js.html +0 -202
  281. package/src/api/controllers/analytics.js +0 -39
@@ -117,10 +117,10 @@
117
117
  <a name='L52'></a><a href='#L52'>52</a>
118
118
  <a name='L53'></a><a href='#L53'>53</a>
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
121
- <span class="cline-any cline-yes">24x</span>
120
+ <a name='L55'></a><a href='#L55'>55</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">27x</span>
121
+ <span class="cline-any cline-yes">27x</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">24x</span>
123
+ <span class="cline-any cline-yes">27x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
126
126
  <span class="cline-any cline-yes">2x</span>
@@ -141,7 +141,7 @@
141
141
  <span class="cline-any cline-yes">1x</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
143
  <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">24x</span>
144
+ <span class="cline-any cline-yes">27x</span>
145
145
  <span class="cline-any cline-yes">1x</span>
146
146
  <span class="cline-any cline-yes">1x</span>
147
147
  <span class="cline-any cline-yes">1x</span>
@@ -151,7 +151,7 @@
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-yes">24x</span>
154
+ <span class="cline-any cline-yes">27x</span>
155
155
  <span class="cline-any cline-yes">1x</span>
156
156
  <span class="cline-any cline-yes">1x</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
235
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -121,13 +121,13 @@
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
125
- <span class="cline-any cline-yes">24x</span>
126
- <span class="cline-any cline-yes">24x</span>
127
- <span class="cline-any cline-yes">24x</span>
128
- <span class="cline-any cline-yes">24x</span>
124
+ <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">27x</span>
125
+ <span class="cline-any cline-yes">27x</span>
126
+ <span class="cline-any cline-yes">27x</span>
127
+ <span class="cline-any cline-yes">27x</span>
128
+ <span class="cline-any cline-yes">27x</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-yes">24x</span>
130
+ <span class="cline-any cline-yes">27x</span>
131
131
  <span class="cline-any cline-yes">1x</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -244,7 +244,7 @@ exports.fetchSelf = async ctx =&gt; {
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
247
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  <script src="../../prettify.js"></script>
250
250
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.52% </span>
26
+ <span class="strong">92.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>86/95</span>
28
+ <span class='fraction'>111/120</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.87% </span>
33
+ <span class="strong">73.52% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>23/32</span>
35
+ <span class='fraction'>25/34</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.85% </span>
40
+ <span class="strong">95.23% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/14</span>
42
+ <span class='fraction'>20/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.42% </span>
47
+ <span class="strong">92.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>85/94</span>
49
+ <span class='fraction'>106/115</span>
50
50
  </div>
51
51
 
52
52
 
@@ -281,21 +281,56 @@
281
281
  <a name='L216'></a><a href='#L216'>216</a>
282
282
  <a name='L217'></a><a href='#L217'>217</a>
283
283
  <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
285
- <span class="cline-any cline-yes">40x</span>
286
- <span class="cline-any cline-yes">40x</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">40x</span>
292
- <span class="cline-any cline-yes">40x</span>
293
- <span class="cline-any cline-yes">40x</span>
294
- <span class="cline-any cline-yes">40x</span>
295
- <span class="cline-any cline-yes">40x</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">40x</span>
298
- <span class="cline-any cline-yes">40x</span>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">43x</span>
319
+ <span class="cline-any cline-yes">43x</span>
320
+ <span class="cline-any cline-yes">43x</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-yes">43x</span>
326
+ <span class="cline-any cline-yes">43x</span>
327
+ <span class="cline-any cline-yes">43x</span>
328
+ <span class="cline-any cline-yes">43x</span>
329
+ <span class="cline-any cline-yes">43x</span>
330
+ <span class="cline-any cline-yes">43x</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-yes">43x</span>
333
+ <span class="cline-any cline-yes">43x</span>
299
334
  <span class="cline-any cline-neutral">&nbsp;</span>
300
335
  <span class="cline-any cline-neutral">&nbsp;</span>
301
336
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -312,52 +347,55 @@
312
347
  <span class="cline-any cline-neutral">&nbsp;</span>
313
348
  <span class="cline-any cline-neutral">&nbsp;</span>
314
349
  <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">22x</span>
350
+ <span class="cline-any cline-yes">33x</span>
316
351
  <span class="cline-any cline-no">&nbsp;</span>
317
352
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-yes">22x</span>
319
- <span class="cline-any cline-yes">22x</span>
320
- <span class="cline-any cline-yes">22x</span>
353
+ <span class="cline-any cline-yes">33x</span>
354
+ <span class="cline-any cline-yes">33x</span>
355
+ <span class="cline-any cline-yes">33x</span>
321
356
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">22x</span>
323
- <span class="cline-any cline-yes">18x</span>
357
+ <span class="cline-any cline-yes">33x</span>
358
+ <span class="cline-any cline-yes">27x</span>
324
359
  <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">22x</span>
326
- <span class="cline-any cline-yes">26x</span>
360
+ <span class="cline-any cline-yes">33x</span>
361
+ <span class="cline-any cline-yes">52x</span>
327
362
  <span class="cline-any cline-no">&nbsp;</span>
328
363
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">26x</span>
330
- <span class="cline-any cline-yes">7x</span>
364
+ <span class="cline-any cline-yes">52x</span>
365
+ <span class="cline-any cline-yes">13x</span>
331
366
  <span class="cline-any cline-no">&nbsp;</span>
332
367
  <span class="cline-any cline-neutral">&nbsp;</span>
333
368
  <span class="cline-any cline-neutral">&nbsp;</span>
334
369
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">22x</span>
370
+ <span class="cline-any cline-yes">33x</span>
336
371
  <span class="cline-any cline-neutral">&nbsp;</span>
337
372
  <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-yes">40x</span>
339
- <span class="cline-any cline-yes">21x</span>
340
- <span class="cline-any cline-yes">21x</span>
341
- <span class="cline-any cline-yes">21x</span>
373
+ <span class="cline-any cline-yes">43x</span>
374
+ <span class="cline-any cline-yes">28x</span>
375
+ <span class="cline-any cline-yes">28x</span>
376
+ <span class="cline-any cline-yes">28x</span>
342
377
  <span class="cline-any cline-neutral">&nbsp;</span>
343
378
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">21x</span>
379
+ <span class="cline-any cline-yes">28x</span>
345
380
  <span class="cline-any cline-yes">1x</span>
346
381
  <span class="cline-any cline-neutral">&nbsp;</span>
347
382
  <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-yes">20x</span>
383
+ <span class="cline-any cline-yes">27x</span>
349
384
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">20x</span>
351
- <span class="cline-any cline-yes">20x</span>
352
- <span class="cline-any cline-yes">20x</span>
385
+ <span class="cline-any cline-yes">27x</span>
386
+ <span class="cline-any cline-yes">27x</span>
387
+ <span class="cline-any cline-yes">27x</span>
353
388
  <span class="cline-any cline-neutral">&nbsp;</span>
354
389
  <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-yes">20x</span>
356
- <span class="cline-any cline-yes">20x</span>
390
+ <span class="cline-any cline-yes">27x</span>
391
+ <span class="cline-any cline-yes">27x</span>
392
+ <span class="cline-any cline-yes">27x</span>
393
+ <span class="cline-any cline-yes">11x</span>
357
394
  <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">20x</span>
359
- <span class="cline-any cline-yes">20x</span>
395
+ <span class="cline-any cline-yes">27x</span>
360
396
  <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-yes">27x</span>
398
+ <span class="cline-any cline-yes">27x</span>
361
399
  <span class="cline-any cline-neutral">&nbsp;</span>
362
400
  <span class="cline-any cline-neutral">&nbsp;</span>
363
401
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -365,29 +403,55 @@
365
403
  <span class="cline-any cline-neutral">&nbsp;</span>
366
404
  <span class="cline-any cline-neutral">&nbsp;</span>
367
405
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">40x</span>
369
- <span class="cline-any cline-yes">2x</span>
370
- <span class="cline-any cline-yes">2x</span>
371
- <span class="cline-any cline-yes">2x</span>
372
- <span class="cline-any cline-yes">2x</span>
373
- <span class="cline-any cline-yes">2x</span>
374
- <span class="cline-any cline-yes">2x</span>
375
406
  <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-yes">43x</span>
408
+ <span class="cline-any cline-yes">7x</span>
409
+ <span class="cline-any cline-yes">8x</span>
376
410
  <span class="cline-any cline-neutral">&nbsp;</span>
377
411
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">2x</span>
379
- <span class="cline-any cline-yes">2x</span>
412
+ <span class="cline-any cline-yes">43x</span>
413
+ <span class="cline-any cline-yes">8x</span>
414
+ <span class="cline-any cline-yes">7x</span>
380
415
  <span class="cline-any cline-neutral">&nbsp;</span>
381
416
  <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-yes">2x</span>
417
+ <span class="cline-any cline-yes">43x</span>
383
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-yes">6x</span>
420
+ <span class="cline-any cline-yes">6x</span>
421
+ <span class="cline-any cline-yes">4x</span>
384
422
  <span class="cline-any cline-neutral">&nbsp;</span>
385
423
  <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">2x</span>
387
424
  <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-yes">6x</span>
426
+ <span class="cline-any cline-yes">6x</span>
427
+ <span class="cline-any cline-yes">3x</span>
388
428
  <span class="cline-any cline-neutral">&nbsp;</span>
389
429
  <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-yes">2x</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-yes">43x</span>
432
+ <span class="cline-any cline-yes">6x</span>
433
+ <span class="cline-any cline-yes">6x</span>
434
+ <span class="cline-any cline-yes">6x</span>
435
+ <span class="cline-any cline-yes">6x</span>
436
+ <span class="cline-any cline-yes">6x</span>
437
+ <span class="cline-any cline-yes">6x</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-yes">6x</span>
442
+ <span class="cline-any cline-yes">6x</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-yes">6x</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-yes">6x</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-yes">6x</span>
454
+ <span class="cline-any cline-yes">1x</span>
391
455
  <span class="cline-any cline-yes">1x</span>
392
456
  <span class="cline-any cline-neutral">&nbsp;</span>
393
457
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -395,9 +459,10 @@
395
459
  <span class="cline-any cline-neutral">&nbsp;</span>
396
460
  <span class="cline-any cline-neutral">&nbsp;</span>
397
461
  <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-yes">2x</span>
399
- <span class="cline-any cline-yes">2x</span>
462
+ <span class="cline-any cline-yes">6x</span>
400
463
  <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-yes">6x</span>
465
+ <span class="cline-any cline-yes">6x</span>
401
466
  <span class="cline-any cline-neutral">&nbsp;</span>
402
467
  <span class="cline-any cline-neutral">&nbsp;</span>
403
468
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -406,7 +471,8 @@
406
471
  <span class="cline-any cline-neutral">&nbsp;</span>
407
472
  <span class="cline-any cline-neutral">&nbsp;</span>
408
473
  <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-yes">40x</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-yes">43x</span>
410
476
  <span class="cline-any cline-yes">2x</span>
411
477
  <span class="cline-any cline-yes">2x</span>
412
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -416,12 +482,12 @@
416
482
  <span class="cline-any cline-yes">2x</span>
417
483
  <span class="cline-any cline-neutral">&nbsp;</span>
418
484
  <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-yes">40x</span>
485
+ <span class="cline-any cline-yes">43x</span>
420
486
  <span class="cline-any cline-yes">1x</span>
421
487
  <span class="cline-any cline-yes">1x</span>
422
488
  <span class="cline-any cline-neutral">&nbsp;</span>
423
489
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">40x</span>
490
+ <span class="cline-any cline-yes">43x</span>
425
491
  <span class="cline-any cline-yes">1x</span>
426
492
  <span class="cline-any cline-yes">1x</span>
427
493
  <span class="cline-any cline-yes">1x</span>
@@ -431,17 +497,18 @@
431
497
  <span class="cline-any cline-neutral">&nbsp;</span>
432
498
  <span class="cline-any cline-yes">1x</span>
433
499
  <span class="cline-any cline-yes">1x</span>
500
+ <span class="cline-any cline-yes">1x</span>
434
501
  <span class="cline-any cline-neutral">&nbsp;</span>
435
502
  <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-yes">40x</span>
503
+ <span class="cline-any cline-yes">43x</span>
437
504
  <span class="cline-any cline-yes">1x</span>
438
505
  <span class="cline-any cline-neutral">&nbsp;</span>
439
506
  <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-yes">40x</span>
507
+ <span class="cline-any cline-yes">43x</span>
441
508
  <span class="cline-any cline-yes">1x</span>
442
509
  <span class="cline-any cline-neutral">&nbsp;</span>
443
510
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">40x</span>
511
+ <span class="cline-any cline-yes">43x</span>
445
512
  <span class="cline-any cline-yes">1x</span>
446
513
  <span class="cline-any cline-neutral">&nbsp;</span>
447
514
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -454,7 +521,7 @@
454
521
  <span class="cline-any cline-neutral">&nbsp;</span>
455
522
  <span class="cline-any cline-neutral">&nbsp;</span>
456
523
  <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">40x</span>
524
+ <span class="cline-any cline-yes">43x</span>
458
525
  <span class="cline-any cline-no">&nbsp;</span>
459
526
  <span class="cline-any cline-no">&nbsp;</span>
460
527
  <span class="cline-any cline-no">&nbsp;</span>
@@ -478,7 +545,7 @@
478
545
  <span class="cline-any cline-yes">2x</span>
479
546
  <span class="cline-any cline-neutral">&nbsp;</span>
480
547
  <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-yes">40x</span>
548
+ <span class="cline-any cline-yes">43x</span>
482
549
  <span class="cline-any cline-yes">2x</span>
483
550
  <span class="cline-any cline-yes">2x</span>
484
551
  <span class="cline-any cline-yes">2x</span>
@@ -498,6 +565,7 @@
498
565
  <span class="cline-any cline-neutral">&nbsp;</span>
499
566
  <span class="cline-any cline-yes">2x</span>
500
567
  <span class="cline-any cline-yes">2x</span>
568
+ <span class="cline-any cline-yes">2x</span>
501
569
  <span class="cline-any cline-neutral">&nbsp;</span>
502
570
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const actions = require("../../automations/actions")
503
571
  const triggers = require("../../automations/triggers")
@@ -511,6 +579,7 @@ const { deleteEntityMetadata } = require("../../utilities")
511
579
  const { MetadataTypes } = require("../../constants")
512
580
  const { setTestFlag, clearTestFlag } = require("../../utilities/redis")
513
581
  const { getAppDB } = require("@budibase/backend-core/context")
582
+ const { events } = require("@budibase/backend-core")
514
583
  &nbsp;
515
584
  const ACTION_DEFS = removeDeprecated(actions.ACTION_DEFINITIONS)
516
585
  const TRIGGER_DEFS = removeDeprecated(triggers.TRIGGER_DEFINITIONS)
@@ -571,6 +640,10 @@ exports.create = async function (ctx) {
571
640
  newAuto: automation,
572
641
  })
573
642
  const response = await db.put(automation)
643
+ await events.automation.created(automation)
644
+ for (let step of automation.definition.steps) {
645
+ await events.automation.stepCreated(automation, step)
646
+ }
574
647
  automation._rev = response.rev
575
648
  &nbsp;
576
649
  ctx.status = 200
@@ -583,6 +656,30 @@ exports.create = async function (ctx) {
583
656
  }
584
657
  }
585
658
  &nbsp;
659
+ const getNewSteps = (oldAutomation, automation) =&gt; {
660
+ const oldStepIds = oldAutomation.definition.steps.map(s =&gt; s.id)
661
+ return automation.definition.steps.filter(s =&gt; !oldStepIds.includes(s.id))
662
+ }
663
+ &nbsp;
664
+ const getDeletedSteps = (oldAutomation, automation) =&gt; {
665
+ const stepIds = automation.definition.steps.map(s =&gt; s.id)
666
+ return oldAutomation.definition.steps.filter(s =&gt; !stepIds.includes(s.id))
667
+ }
668
+ &nbsp;
669
+ const handleStepEvents = async (oldAutomation, automation) =&gt; {
670
+ // new steps
671
+ const newSteps = getNewSteps(oldAutomation, automation)
672
+ for (let step of newSteps) {
673
+ await events.automation.stepCreated(automation, step)
674
+ }
675
+ &nbsp;
676
+ // old steps
677
+ const deletedSteps = getDeletedSteps(oldAutomation, automation)
678
+ for (let step of deletedSteps) {
679
+ await events.automation.stepDeleted(automation, step)
680
+ }
681
+ }
682
+ &nbsp;
586
683
  exports.update = async function (ctx) {
587
684
  const db = getAppDB()
588
685
  let automation = ctx.request.body
@@ -599,19 +696,22 @@ exports.update = async function (ctx) {
599
696
  const oldAutoTrigger =
600
697
  oldAutomation &amp;&amp; oldAutomation.definition.trigger
601
698
  ? oldAutomation.definition.trigger
602
- : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
699
+ : <span class="branch-1 cbranch-no" title="branch not covered" >undefined</span>
603
700
  const newAutoTrigger =
604
701
  automation &amp;&amp; automation.definition.trigger
605
702
  ? automation.definition.trigger
606
703
  : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
607
704
  // trigger has been updated, remove the test inputs
608
- if (oldAutoTrigger.id !== newAutoTrigger.id) {
705
+ if (oldAutoTrigger &amp;&amp; oldAutoTrigger.id !== newAutoTrigger.id) {
706
+ await events.automation.triggerUpdated(automation)
609
707
  await deleteEntityMetadata(
610
708
  ctx.appId,
611
709
  MetadataTypes.AUTOMATION_TEST_INPUT,
612
710
  automation._id
613
711
  )
614
712
  }
713
+ &nbsp;
714
+ await handleStepEvents(oldAutomation, automation)
615
715
  &nbsp;
616
716
  ctx.status = 200
617
717
  ctx.body = {
@@ -649,6 +749,7 @@ exports.destroy = async function (ctx) {
649
749
  // delete metadata first
650
750
  await cleanupAutomationMetadata(automationId)
651
751
  ctx.body = await db.remove(automationId, ctx.params.rev)
752
+ await events.automation.deleted(oldAutomation)
652
753
  }
653
754
  &nbsp;
654
755
  exports.getActionList = async function (ctx) {
@@ -716,6 +817,7 @@ exports.test = async function (ctx) {
716
817
  })
717
818
  await clearTestFlag(automation._id)
718
819
  ctx.body = response
820
+ await events.automation.tested(automation)
719
821
  }
720
822
  &nbsp;</pre></td></tr></table></pre>
721
823
 
@@ -724,7 +826,7 @@ exports.test = async function (ctx) {
724
826
  <div class='footer quiet pad2 space-top1 center small'>
725
827
  Code coverage generated by
726
828
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
727
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
829
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
728
830
  </div>
729
831
  <script src="../../prettify.js"></script>
730
832
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>7/7</span>
28
+ <span class='fraction'>13/13</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>2/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/7</span>
49
+ <span class='fraction'>13/13</span>
50
50
  </div>
51
51
 
52
52
 
@@ -72,16 +72,34 @@
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">24x</span>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">27x</span>
84
+ <span class="cline-any cline-yes">27x</span>
85
+ <span class="cline-any cline-yes">27x</span>
76
86
  <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-yes">24x</span>
87
+ <span class="cline-any cline-yes">27x</span>
78
88
  <span class="cline-any cline-yes">1x</span>
79
89
  <span class="cline-any cline-yes">1x</span>
80
90
  <span class="cline-any cline-yes">1x</span>
81
91
  <span class="cline-any cline-yes">1x</span>
82
92
  <span class="cline-any cline-yes">1x</span>
83
93
  <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-yes">1x</span>
95
+ <span class="cline-any cline-yes">1x</span>
96
+ <span class="cline-any cline-yes">1x</span>
97
+ <span class="cline-any cline-yes">1x</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
100
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { streamBackup } = require("../../utilities/fileSystem")
101
+ const { events, context } = require("@budibase/backend-core")
102
+ const { DocumentTypes } = require("../../db/utils")
85
103
  &nbsp;
86
104
  exports.exportAppDump = async function (ctx) {
87
105
  const { appId } = ctx.query
@@ -89,6 +107,12 @@ exports.exportAppDump = async function (ctx) {
89
107
  const backupIdentifier = `${appName}-export-${new Date().getTime()}.txt`
90
108
  ctx.attachment(backupIdentifier)
91
109
  ctx.body = await streamBackup(appId)
110
+ &nbsp;
111
+ await context.doInAppContext(appId, async () =&gt; {
112
+ const appDb = context.getAppDB()
113
+ const app = await appDb.get(DocumentTypes.APP_METADATA)
114
+ await events.app.exported(app)
115
+ })
92
116
  }
93
117
  &nbsp;</pre></td></tr></table></pre>
94
118
 
@@ -97,7 +121,7 @@ exports.exportAppDump = async function (ctx) {
97
121
  <div class='footer quiet pad2 space-top1 center small'>
98
122
  Code coverage generated by
99
123
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
124
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
101
125
  </div>
102
126
  <script src="../../prettify.js"></script>
103
127
  <script>