@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
@@ -155,15 +155,15 @@
155
155
  <a name='L90'></a><a href='#L90'>90</a>
156
156
  <a name='L91'></a><a href='#L91'>91</a>
157
157
  <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
159
- <span class="cline-any cline-yes">41x</span>
160
- <span class="cline-any cline-yes">41x</span>
161
- <span class="cline-any cline-yes">41x</span>
162
- <span class="cline-any cline-yes">41x</span>
163
- <span class="cline-any cline-yes">41x</span>
164
- <span class="cline-any cline-yes">41x</span>
158
+ <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
159
+ <span class="cline-any cline-yes">44x</span>
160
+ <span class="cline-any cline-yes">44x</span>
161
+ <span class="cline-any cline-yes">44x</span>
162
+ <span class="cline-any cline-yes">44x</span>
163
+ <span class="cline-any cline-yes">44x</span>
164
+ <span class="cline-any cline-yes">44x</span>
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-yes">41x</span>
166
+ <span class="cline-any cline-yes">44x</span>
167
167
  <span class="cline-any cline-neutral">&nbsp;</span>
168
168
  <span class="cline-any cline-yes">2x</span>
169
169
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -173,14 +173,14 @@
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
175
  <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-yes">41x</span>
176
+ <span class="cline-any cline-yes">44x</span>
177
177
  <span class="cline-any cline-yes">1x</span>
178
178
  <span class="cline-any cline-yes">1x</span>
179
179
  <span class="cline-any cline-yes">1x</span>
180
180
  <span class="cline-any cline-yes">1x</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">41x</span>
183
+ <span class="cline-any cline-yes">44x</span>
184
184
  <span class="cline-any cline-yes">26x</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
186
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -199,27 +199,27 @@
199
199
  <span class="cline-any cline-yes">23x</span>
200
200
  <span class="cline-any cline-neutral">&nbsp;</span>
201
201
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">41x</span>
203
- <span class="cline-any cline-yes">78x</span>
202
+ <span class="cline-any cline-yes">44x</span>
203
+ <span class="cline-any cline-yes">83x</span>
204
204
  <span class="cline-any cline-yes">2x</span>
205
205
  <span class="cline-any cline-yes">2x</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">78x</span>
208
- <span class="cline-any cline-yes">78x</span>
209
- <span class="cline-any cline-yes">214x</span>
210
- <span class="cline-any cline-yes">214x</span>
207
+ <span class="cline-any cline-yes">83x</span>
208
+ <span class="cline-any cline-yes">83x</span>
209
+ <span class="cline-any cline-yes">224x</span>
210
+ <span class="cline-any cline-yes">224x</span>
211
211
  <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">214x</span>
212
+ <span class="cline-any cline-yes">224x</span>
213
213
  <span class="cline-any cline-no">&nbsp;</span>
214
214
  <span class="cline-any cline-neutral">&nbsp;</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">214x</span>
216
+ <span class="cline-any cline-yes">224x</span>
217
217
  <span class="cline-any cline-no">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">214x</span>
222
+ <span class="cline-any cline-yes">224x</span>
223
223
  <span class="cline-any cline-no">&nbsp;</span>
224
224
  <span class="cline-any cline-no">&nbsp;</span>
225
225
  <span class="cline-any cline-no">&nbsp;</span>
@@ -233,7 +233,7 @@
233
233
  <span class="cline-any cline-neutral">&nbsp;</span>
234
234
  <span class="cline-any cline-no">&nbsp;</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-yes">214x</span>
236
+ <span class="cline-any cline-yes">224x</span>
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
238
  <span class="cline-any cline-no">&nbsp;</span>
239
239
  <span class="cline-any cline-no">&nbsp;</span>
@@ -241,11 +241,11 @@
241
241
  <span class="cline-any cline-no">&nbsp;</span>
242
242
  <span class="cline-any cline-neutral">&nbsp;</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">214x</span>
244
+ <span class="cline-any cline-yes">224x</span>
245
245
  <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-yes">214x</span>
246
+ <span class="cline-any cline-yes">224x</span>
247
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-yes">78x</span>
248
+ <span class="cline-any cline-yes">83x</span>
249
249
  <span class="cline-any cline-neutral">&nbsp;</span>
250
250
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const validateJs = require("validate.js")
251
251
  const { cloneDeep } = require("lodash/fp")
@@ -346,7 +346,7 @@ exports.validate = async ({ tableId, row, table }) =&gt; {
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
349
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../../prettify.js"></script>
352
352
  <script>
@@ -25,14 +25,14 @@
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'>21/21</span>
28
+ <span class='fraction'>28/28</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">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/2</span>
35
+ <span class='fraction'>4/4</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
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'>21/21</span>
49
+ <span class='fraction'>28/28</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,11 +109,24 @@
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
113
- <span class="cline-any cline-yes">40x</span>
114
- <span class="cline-any cline-yes">40x</span>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
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">43x</span>
125
+ <span class="cline-any cline-yes">43x</span>
126
+ <span class="cline-any cline-yes">43x</span>
127
+ <span class="cline-any cline-yes">43x</span>
115
128
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">40x</span>
129
+ <span class="cline-any cline-yes">43x</span>
117
130
  <span class="cline-any cline-yes">1x</span>
118
131
  <span class="cline-any cline-neutral">&nbsp;</span>
119
132
  <span class="cline-any cline-yes">1x</span>
@@ -130,25 +143,36 @@
130
143
  <span class="cline-any cline-neutral">&nbsp;</span>
131
144
  <span class="cline-any cline-neutral">&nbsp;</span>
132
145
  <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">40x</span>
134
- <span class="cline-any cline-yes">19x</span>
135
- <span class="cline-any cline-yes">19x</span>
146
+ <span class="cline-any cline-yes">43x</span>
147
+ <span class="cline-any cline-yes">24x</span>
148
+ <span class="cline-any cline-yes">24x</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-yes">24x</span>
152
+ <span class="cline-any cline-yes">23x</span>
153
+ <span class="cline-any cline-yes">23x</span>
136
154
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">19x</span>
138
- <span class="cline-any cline-yes">19x</span>
139
155
  <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-yes">19x</span>
156
+ <span class="cline-any cline-yes">24x</span>
141
157
  <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">19x</span>
143
- <span class="cline-any cline-yes">19x</span>
158
+ <span class="cline-any cline-yes">24x</span>
159
+ <span class="cline-any cline-yes">23x</span>
144
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-yes">24x</span>
162
+ <span class="cline-any cline-yes">24x</span>
145
163
  <span class="cline-any cline-neutral">&nbsp;</span>
146
164
  <span class="cline-any cline-neutral">&nbsp;</span>
147
165
  <span class="cline-any cline-neutral">&nbsp;</span>
148
166
  <span class="cline-any cline-neutral">&nbsp;</span>
149
167
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">40x</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-yes">43x</span>
170
+ <span class="cline-any cline-yes">1x</span>
171
+ <span class="cline-any cline-yes">1x</span>
172
+ <span class="cline-any cline-yes">1x</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
174
  <span class="cline-any cline-yes">1x</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
176
  <span class="cline-any cline-yes">1x</span>
153
177
  <span class="cline-any cline-yes">1x</span>
154
178
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -158,6 +182,7 @@
158
182
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getScreenParams, generateScreenID } = require("../../db/utils")
159
183
  const { AccessController } = require("@budibase/backend-core/roles")
160
184
  const { getAppDB } = require("@budibase/backend-core/context")
185
+ const { events } = require("@budibase/backend-core")
161
186
  &nbsp;
162
187
  exports.fetch = async ctx =&gt; {
163
188
  const db = getAppDB()
@@ -180,11 +205,17 @@ exports.save = async ctx =&gt; {
180
205
  const db = getAppDB()
181
206
  let screen = ctx.request.body
182
207
  &nbsp;
183
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!screen._id) {
208
+ let eventFn
209
+ if (!screen._id) {
184
210
  screen._id = generateScreenID()
211
+ eventFn = events.screen.created
185
212
  }
213
+ &nbsp;
186
214
  const response = await db.put(screen)
187
215
  &nbsp;
216
+ if (eventFn) {
217
+ await eventFn(screen)
218
+ }
188
219
  ctx.message = `Screen ${screen.name} saved.`
189
220
  ctx.body = {
190
221
  ...screen,
@@ -195,7 +226,12 @@ exports.save = async ctx =&gt; {
195
226
  &nbsp;
196
227
  exports.destroy = async ctx =&gt; {
197
228
  const db = getAppDB()
198
- await db.remove(ctx.params.screenId, ctx.params.screenRev)
229
+ const id = ctx.params.screenId
230
+ const screen = await db.get(id)
231
+ &nbsp;
232
+ await db.remove(id, ctx.params.screenRev)
233
+ &nbsp;
234
+ await events.screen.deleted(screen)
199
235
  ctx.body = {
200
236
  message: "Screen deleted successfully",
201
237
  }
@@ -208,7 +244,7 @@ exports.destroy = async ctx =&gt; {
208
244
  <div class='footer quiet pad2 space-top1 center small'>
209
245
  Code coverage generated by
210
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211
- 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)
212
248
  </div>
213
249
  <script src="../../prettify.js"></script>
214
250
  <script>
@@ -74,15 +74,15 @@
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
77
+ <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">41x</span>
79
+ <span class="cline-any cline-yes">44x</span>
80
80
  <span class="cline-any cline-no">&nbsp;</span>
81
81
  <span class="cline-any cline-no">&nbsp;</span>
82
82
  <span class="cline-any cline-no">&nbsp;</span>
83
83
  <span class="cline-any cline-neutral">&nbsp;</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-yes">41x</span>
85
+ <span class="cline-any cline-yes">44x</span>
86
86
  <span class="cline-any cline-no">&nbsp;</span>
87
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
@@ -103,7 +103,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
106
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -236,16 +236,16 @@
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">41x</span>
240
- <span class="cline-any cline-yes">41x</span>
241
- <span class="cline-any cline-yes">41x</span>
242
- <span class="cline-any cline-yes">41x</span>
243
- <span class="cline-any cline-yes">41x</span>
244
- <span class="cline-any cline-yes">41x</span>
245
- <span class="cline-any cline-yes">41x</span>
239
+ <a name='L174'></a><a href='#L174'>174</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
240
+ <span class="cline-any cline-yes">44x</span>
241
+ <span class="cline-any cline-yes">44x</span>
242
+ <span class="cline-any cline-yes">44x</span>
243
+ <span class="cline-any cline-yes">44x</span>
244
+ <span class="cline-any cline-yes">44x</span>
245
+ <span class="cline-any cline-yes">44x</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">1378x</span>
248
+ <span class="cline-any cline-yes">1520x</span>
249
249
  <span class="cline-any cline-neutral">&nbsp;</span>
250
250
  <span class="cline-any cline-neutral">&nbsp;</span>
251
251
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,19 +256,19 @@
256
256
  <span class="cline-any cline-neutral">&nbsp;</span>
257
257
  <span class="cline-any cline-neutral">&nbsp;</span>
258
258
  <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-yes">269x</span>
260
- <span class="cline-any cline-yes">269x</span>
261
- <span class="cline-any cline-yes">269x</span>
259
+ <span class="cline-any cline-yes">316x</span>
260
+ <span class="cline-any cline-yes">316x</span>
261
+ <span class="cline-any cline-yes">316x</span>
262
262
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">1111x</span>
264
- <span class="cline-any cline-yes">1111x</span>
263
+ <span class="cline-any cline-yes">1206x</span>
264
+ <span class="cline-any cline-yes">1206x</span>
265
265
  <span class="cline-any cline-neutral">&nbsp;</span>
266
266
  <span class="cline-any cline-no">&nbsp;</span>
267
267
  <span class="cline-any cline-no">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
269
  <span class="cline-any cline-no">&nbsp;</span>
270
270
  <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">269x</span>
271
+ <span class="cline-any cline-yes">316x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -277,28 +277,28 @@
277
277
  <span class="cline-any cline-neutral">&nbsp;</span>
278
278
  <span class="cline-any cline-neutral">&nbsp;</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">108x</span>
281
- <span class="cline-any cline-yes">249x</span>
280
+ <span class="cline-any cline-yes">131x</span>
281
+ <span class="cline-any cline-yes">304x</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">108x</span>
284
- <span class="cline-any cline-yes">108x</span>
285
- <span class="cline-any cline-yes">272x</span>
283
+ <span class="cline-any cline-yes">131x</span>
284
+ <span class="cline-any cline-yes">131x</span>
285
+ <span class="cline-any cline-yes">319x</span>
286
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">108x</span>
289
- <span class="cline-any cline-yes">236x</span>
288
+ <span class="cline-any cline-yes">131x</span>
289
+ <span class="cline-any cline-yes">283x</span>
290
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">236x</span>
291
+ <span class="cline-any cline-yes">283x</span>
292
292
  <span class="cline-any cline-yes">2x</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-yes">236x</span>
295
- <span class="cline-any cline-yes">236x</span>
294
+ <span class="cline-any cline-yes">283x</span>
295
+ <span class="cline-any cline-yes">283x</span>
296
296
  <span class="cline-any cline-no">&nbsp;</span>
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">236x</span>
301
- <span class="cline-any cline-yes">236x</span>
300
+ <span class="cline-any cline-yes">283x</span>
301
+ <span class="cline-any cline-yes">283x</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
303
  <span class="cline-any cline-no">&nbsp;</span>
304
304
  <span class="cline-any cline-no">&nbsp;</span>
@@ -335,21 +335,21 @@
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-yes">108x</span>
338
+ <span class="cline-any cline-yes">131x</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">108x</span>
341
- <span class="cline-any cline-yes">249x</span>
340
+ <span class="cline-any cline-yes">131x</span>
341
+ <span class="cline-any cline-yes">304x</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">108x</span>
344
+ <span class="cline-any cline-yes">131x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">108x</span>
347
- <span class="cline-any cline-yes">274x</span>
346
+ <span class="cline-any cline-yes">131x</span>
347
+ <span class="cline-any cline-yes">321x</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">108x</span>
351
- <span class="cline-any cline-yes">144x</span>
352
- <span class="cline-any cline-yes">144x</span>
350
+ <span class="cline-any cline-yes">131x</span>
351
+ <span class="cline-any cline-yes">176x</span>
352
+ <span class="cline-any cline-yes">176x</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
354
  <span class="cline-any cline-no">&nbsp;</span>
355
355
  <span class="cline-any cline-no">&nbsp;</span>
@@ -357,8 +357,8 @@
357
357
  <span class="cline-any cline-neutral">&nbsp;</span>
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-yes">108x</span>
361
- <span class="cline-any cline-yes">105x</span>
360
+ <span class="cline-any cline-yes">131x</span>
361
+ <span class="cline-any cline-yes">128x</span>
362
362
  <span class="cline-any cline-yes">33x</span>
363
363
  <span class="cline-any cline-yes">33x</span>
364
364
  <span class="cline-any cline-yes">33x</span>
@@ -379,9 +379,9 @@
379
379
  <span class="cline-any cline-neutral">&nbsp;</span>
380
380
  <span class="cline-any cline-neutral">&nbsp;</span>
381
381
  <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-yes">108x</span>
383
- <span class="cline-any cline-yes">191x</span>
384
- <span class="cline-any cline-yes">144x</span>
382
+ <span class="cline-any cline-yes">131x</span>
383
+ <span class="cline-any cline-yes">233x</span>
384
+ <span class="cline-any cline-yes">176x</span>
385
385
  <span class="cline-any cline-no">&nbsp;</span>
386
386
  <span class="cline-any cline-neutral">&nbsp;</span>
387
387
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -389,24 +389,24 @@
389
389
  <span class="cline-any cline-neutral">&nbsp;</span>
390
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-yes">105x</span>
392
+ <span class="cline-any cline-yes">128x</span>
393
393
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">267x</span>
394
+ <span class="cline-any cline-yes">314x</span>
395
395
  <span class="cline-any cline-neutral">&nbsp;</span>
396
396
  <span class="cline-any cline-neutral">&nbsp;</span>
397
397
  <span class="cline-any cline-neutral">&nbsp;</span>
398
398
  <span class="cline-any cline-neutral">&nbsp;</span>
399
399
  <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-yes">105x</span>
400
+ <span class="cline-any cline-yes">128x</span>
401
401
  <span class="cline-any cline-no">&nbsp;</span>
402
402
  <span class="cline-any cline-neutral">&nbsp;</span>
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
404
  <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-yes">41x</span>
406
- <span class="cline-any cline-yes">108x</span>
407
- <span class="cline-any cline-yes">108x</span>
408
- <span class="cline-any cline-yes">108x</span>
409
- <span class="cline-any cline-yes">105x</span>
405
+ <span class="cline-any cline-yes">44x</span>
406
+ <span class="cline-any cline-yes">131x</span>
407
+ <span class="cline-any cline-yes">131x</span>
408
+ <span class="cline-any cline-yes">131x</span>
409
+ <span class="cline-any cline-yes">128x</span>
410
410
  <span class="cline-any cline-neutral">&nbsp;</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../../constants")
@@ -589,7 +589,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
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 Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
592
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  <script src="../../../prettify.js"></script>
595
595
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">7.97% </span>
26
+ <span class="strong">8.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/138</span>
28
+ <span class='fraction'>12/140</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">7.97% </span>
47
+ <span class="strong">8.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/138</span>
49
+ <span class='fraction'>12/140</span>
50
50
  </div>
51
51
 
52
52
 
@@ -381,27 +381,30 @@
381
381
  <a name='L316'></a><a href='#L316'>316</a>
382
382
  <a name='L317'></a><a href='#L317'>317</a>
383
383
  <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
385
387
  <span class="cline-any cline-neutral">&nbsp;</span>
386
388
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-yes">41x</span>
389
+ <span class="cline-any cline-yes">44x</span>
388
390
  <span class="cline-any cline-neutral">&nbsp;</span>
389
391
  <span class="cline-any cline-neutral">&nbsp;</span>
390
392
  <span class="cline-any cline-neutral">&nbsp;</span>
391
393
  <span class="cline-any cline-neutral">&nbsp;</span>
392
394
  <span class="cline-any cline-neutral">&nbsp;</span>
393
395
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">41x</span>
396
+ <span class="cline-any cline-yes">44x</span>
395
397
  <span class="cline-any cline-neutral">&nbsp;</span>
396
398
  <span class="cline-any cline-neutral">&nbsp;</span>
397
399
  <span class="cline-any cline-neutral">&nbsp;</span>
398
400
  <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-yes">41x</span>
400
- <span class="cline-any cline-yes">41x</span>
401
- <span class="cline-any cline-yes">41x</span>
402
- <span class="cline-any cline-yes">41x</span>
403
- <span class="cline-any cline-yes">41x</span>
404
- <span class="cline-any cline-yes">41x</span>
401
+ <span class="cline-any cline-yes">44x</span>
402
+ <span class="cline-any cline-yes">44x</span>
403
+ <span class="cline-any cline-yes">44x</span>
404
+ <span class="cline-any cline-yes">44x</span>
405
+ <span class="cline-any cline-yes">44x</span>
406
+ <span class="cline-any cline-yes">44x</span>
407
+ <span class="cline-any cline-yes">44x</span>
405
408
  <span class="cline-any cline-neutral">&nbsp;</span>
406
409
  <span class="cline-any cline-neutral">&nbsp;</span>
407
410
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -545,7 +548,7 @@
545
548
  <span class="cline-any cline-no">&nbsp;</span>
546
549
  <span class="cline-any cline-neutral">&nbsp;</span>
547
550
  <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-yes">41x</span>
551
+ <span class="cline-any cline-yes">44x</span>
549
552
  <span class="cline-any cline-no">&nbsp;</span>
550
553
  <span class="cline-any cline-no">&nbsp;</span>
551
554
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -662,7 +665,7 @@
662
665
  <span class="cline-any cline-no">&nbsp;</span>
663
666
  <span class="cline-any cline-neutral">&nbsp;</span>
664
667
  <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-yes">41x</span>
668
+ <span class="cline-any cline-yes">44x</span>
666
669
  <span class="cline-any cline-no">&nbsp;</span>
667
670
  <span class="cline-any cline-no">&nbsp;</span>
668
671
  <span class="cline-any cline-no">&nbsp;</span>
@@ -684,7 +687,7 @@
684
687
  <span class="cline-any cline-no">&nbsp;</span>
685
688
  <span class="cline-any cline-neutral">&nbsp;</span>
686
689
  <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-yes">41x</span>
690
+ <span class="cline-any cline-yes">44x</span>
688
691
  <span class="cline-any cline-no">&nbsp;</span>
689
692
  <span class="cline-any cline-no">&nbsp;</span>
690
693
  <span class="cline-any cline-no">&nbsp;</span>
@@ -698,6 +701,7 @@
698
701
  <span class="cline-any cline-neutral">&nbsp;</span>
699
702
  <span class="cline-any cline-neutral">&nbsp;</span>
700
703
  <span class="cline-any cline-no">&nbsp;</span>
704
+ <span class="cline-any cline-no">&nbsp;</span>
701
705
  <span class="cline-any cline-neutral">&nbsp;</span>
702
706
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
703
707
  buildExternalTableId,
@@ -720,6 +724,7 @@ const { cloneDeep } = require("lodash/fp")
720
724
  const csvParser = require("../../../utilities/csvParser")
721
725
  const { handleRequest } = require("../row/external")
722
726
  const { getAppDB } = require("@budibase/backend-core/context")
727
+ const { events } = require("@budibase/backend-core")
723
728
  &nbsp;
724
729
  async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
725
730
  datasource,
@@ -1015,6 +1020,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
1015
1020
  <span class="cstat-no" title="statement not covered" > await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {</span>
1016
1021
  rows,
1017
1022
  })
1023
+ <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
1018
1024
  <span class="cstat-no" title="statement not covered" > return table</span>
1019
1025
  }
1020
1026
  &nbsp;</pre></td></tr></table></pre>
@@ -1024,7 +1030,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
1024
1030
  <div class='footer quiet pad2 space-top1 center small'>
1025
1031
  Code coverage generated by
1026
1032
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1027
- at Fri Jun 10 2022 13:42:57 GMT+0000 (Coordinated Universal Time)
1033
+ at Mon Jun 13 2022 15:58:57 GMT+0000 (Coordinated Universal Time)
1028
1034
  </div>
1029
1035
  <script src="../../../prettify.js"></script>
1030
1036
  <script>