@budibase/worker 2.2.26 → 2.2.27-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/Dockerfile +1 -1
  2. package/__mocks__/node-fetch.ts +23 -0
  3. package/coverage/clover.xml +1423 -1379
  4. package/coverage/coverage-final.json +83 -77
  5. package/coverage/lcov-report/index.html +140 -140
  6. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +52 -52
  7. package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +167 -224
  8. package/coverage/lcov-report/src/api/controllers/global/email.ts.html +4 -4
  9. package/coverage/lcov-report/src/api/controllers/global/events.ts.html +136 -0
  10. package/coverage/lcov-report/src/api/controllers/global/index.html +83 -68
  11. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +16 -16
  12. package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +69 -69
  13. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +20 -20
  14. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +54 -54
  15. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +83 -44
  16. package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +9 -9
  17. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +5 -5
  18. package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +4 -4
  19. package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
  20. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +5 -5
  21. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +4 -4
  22. package/coverage/lcov-report/src/api/controllers/system/status.ts.html +5 -5
  23. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +7 -7
  24. package/coverage/lcov-report/src/api/index.html +1 -1
  25. package/coverage/lcov-report/src/api/index.ts.html +42 -30
  26. package/coverage/lcov-report/src/api/routes/global/auth.ts.html +14 -14
  27. package/coverage/lcov-report/src/api/routes/global/configs.ts.html +25 -25
  28. package/coverage/lcov-report/src/api/routes/global/email.ts.html +13 -13
  29. package/coverage/lcov-report/src/api/routes/global/events.ts.html +109 -0
  30. package/coverage/lcov-report/src/api/routes/global/index.html +37 -22
  31. package/coverage/lcov-report/src/api/routes/global/license.ts.html +9 -9
  32. package/coverage/lcov-report/src/api/routes/global/roles.ts.html +10 -10
  33. package/coverage/lcov-report/src/api/routes/global/self.ts.html +11 -11
  34. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +14 -14
  35. package/coverage/lcov-report/src/api/routes/global/users.ts.html +62 -20
  36. package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +12 -12
  37. package/coverage/lcov-report/src/api/routes/index.html +7 -7
  38. package/coverage/lcov-report/src/api/routes/index.ts.html +29 -23
  39. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +10 -10
  40. package/coverage/lcov-report/src/api/routes/system/environment.ts.html +9 -9
  41. package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
  42. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +10 -10
  43. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +9 -9
  44. package/coverage/lcov-report/src/api/routes/system/status.ts.html +9 -9
  45. package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +10 -10
  46. package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
  47. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
  48. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +14 -14
  49. package/coverage/lcov-report/src/constants/index.html +17 -17
  50. package/coverage/lcov-report/src/constants/index.ts.html +77 -53
  51. package/coverage/lcov-report/src/constants/templates/index.html +18 -18
  52. package/coverage/lcov-report/src/constants/templates/index.ts.html +42 -42
  53. package/coverage/lcov-report/src/db/index.html +17 -17
  54. package/coverage/lcov-report/src/db/index.ts.html +18 -18
  55. package/coverage/lcov-report/src/environment.ts.html +45 -30
  56. package/coverage/lcov-report/src/index.html +27 -27
  57. package/coverage/lcov-report/src/index.ts.html +55 -55
  58. package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +5 -5
  59. package/coverage/lcov-report/src/middleware/index.html +1 -1
  60. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +9 -9
  61. package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
  62. package/coverage/lcov-report/src/migrations/index.html +15 -15
  63. package/coverage/lcov-report/src/migrations/index.ts.html +27 -27
  64. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +13 -13
  65. package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
  66. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
  67. package/coverage/lcov-report/src/sdk/index.html +5 -5
  68. package/coverage/lcov-report/src/sdk/index.ts.html +6 -6
  69. package/coverage/lcov-report/src/sdk/users/events.ts.html +82 -58
  70. package/coverage/lcov-report/src/sdk/users/index.html +28 -28
  71. package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
  72. package/coverage/lcov-report/src/sdk/users/users.ts.html +174 -120
  73. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +221 -107
  74. package/coverage/lcov-report/src/tests/api/accounts.ts.html +7 -7
  75. package/coverage/lcov-report/src/tests/api/auth.ts.html +25 -13
  76. package/coverage/lcov-report/src/tests/api/base.ts.html +5 -5
  77. package/coverage/lcov-report/src/tests/api/configs.ts.html +11 -11
  78. package/coverage/lcov-report/src/tests/api/email.ts.html +6 -6
  79. package/coverage/lcov-report/src/tests/api/environment.ts.html +6 -6
  80. package/coverage/lcov-report/src/tests/api/groups.ts.html +163 -0
  81. package/coverage/lcov-report/src/tests/api/index.html +91 -31
  82. package/coverage/lcov-report/src/tests/api/index.ts.html +62 -29
  83. package/coverage/lcov-report/src/tests/api/license.ts.html +136 -0
  84. package/coverage/lcov-report/src/tests/api/migrations.ts.html +8 -8
  85. package/coverage/lcov-report/src/tests/api/restore.ts.html +7 -7
  86. package/coverage/lcov-report/src/tests/api/roles.ts.html +181 -0
  87. package/coverage/lcov-report/src/tests/api/self.ts.html +7 -7
  88. package/coverage/lcov-report/src/tests/api/status.ts.html +6 -6
  89. package/coverage/lcov-report/src/tests/api/templates.ts.html +175 -0
  90. package/coverage/lcov-report/src/tests/api/tenants.ts.html +10 -10
  91. package/coverage/lcov-report/src/tests/api/users.ts.html +30 -27
  92. package/coverage/lcov-report/src/tests/controllers.ts.html +14 -14
  93. package/coverage/lcov-report/src/tests/index.html +34 -34
  94. package/coverage/lcov-report/src/tests/index.ts.html +19 -55
  95. package/coverage/lcov-report/src/tests/mocks/{email.js.html → email.ts.html} +5 -5
  96. package/coverage/lcov-report/src/tests/mocks/index.html +6 -6
  97. package/coverage/lcov-report/src/tests/mocks/index.ts.html +10 -10
  98. package/coverage/lcov-report/src/tests/structures/configs.ts.html +11 -11
  99. package/coverage/lcov-report/src/tests/structures/groups.ts.html +15 -15
  100. package/coverage/lcov-report/src/tests/structures/index.html +26 -26
  101. package/coverage/lcov-report/src/tests/structures/index.ts.html +16 -22
  102. package/coverage/lcov-report/src/tests/structures/users.ts.html +16 -16
  103. package/coverage/lcov-report/src/utilities/appService.ts.html +45 -18
  104. package/coverage/lcov-report/src/utilities/email.ts.html +28 -28
  105. package/coverage/lcov-report/src/utilities/fileSystem.ts.html +4 -4
  106. package/coverage/lcov-report/src/utilities/index.html +27 -27
  107. package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
  108. package/coverage/lcov-report/src/utilities/redis.ts.html +20 -20
  109. package/coverage/lcov-report/src/utilities/templates.ts.html +6 -6
  110. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  111. package/coverage/lcov.info +2826 -2609
  112. package/jest-testcontainers-config.js +8 -0
  113. package/jest.config.ts +10 -4
  114. package/package.json +11 -7
  115. package/scripts/dev/manage.js +2 -2
  116. package/src/api/controllers/global/auth.ts +1 -1
  117. package/src/api/controllers/global/configs.ts +112 -131
  118. package/src/api/controllers/global/events.ts +17 -0
  119. package/src/api/controllers/global/users.ts +14 -1
  120. package/src/api/index.ts +4 -0
  121. package/src/api/routes/global/auth.ts +1 -1
  122. package/src/api/routes/global/configs.ts +7 -7
  123. package/src/api/routes/global/email.ts +1 -1
  124. package/src/api/routes/global/events.ts +8 -0
  125. package/src/api/routes/global/license.ts +1 -1
  126. package/src/api/routes/global/roles.ts +1 -1
  127. package/src/api/routes/global/self.ts +1 -1
  128. package/src/api/routes/global/templates.ts +1 -1
  129. package/src/api/routes/global/tests/auth.spec.ts +30 -22
  130. package/src/api/routes/global/tests/configs.spec.ts +114 -94
  131. package/src/api/routes/global/tests/groups.spec.ts +58 -0
  132. package/src/api/routes/global/tests/license.spec.ts +0 -2
  133. package/src/api/routes/global/tests/roles.spec.ts +71 -5
  134. package/src/api/routes/global/tests/templates.spec.ts +81 -9
  135. package/src/api/routes/global/tests/users.spec.ts +35 -36
  136. package/src/api/routes/global/users.ts +15 -1
  137. package/src/api/routes/global/workspaces.ts +1 -1
  138. package/src/api/routes/index.ts +2 -0
  139. package/src/api/routes/system/accounts.ts +1 -1
  140. package/src/api/routes/system/environment.ts +1 -1
  141. package/src/api/routes/system/migrations.ts +1 -1
  142. package/src/api/routes/system/restore.ts +1 -1
  143. package/src/api/routes/system/status.ts +1 -1
  144. package/src/api/routes/system/tenants.ts +1 -1
  145. package/src/api/routes/system/tests/environment.spec.ts +1 -1
  146. package/src/constants/index.ts +13 -5
  147. package/src/db/index.ts +1 -1
  148. package/src/environment.ts +6 -1
  149. package/src/index.ts +5 -5
  150. package/src/middleware/cloudRestricted.ts +1 -1
  151. package/src/sdk/users/events.ts +8 -0
  152. package/src/sdk/users/users.ts +23 -5
  153. package/src/tests/TestConfiguration.ts +52 -14
  154. package/src/tests/api/auth.ts +7 -3
  155. package/src/tests/api/configs.ts +2 -2
  156. package/src/tests/api/groups.ts +26 -0
  157. package/src/tests/api/index.ts +12 -1
  158. package/src/tests/api/license.ts +17 -0
  159. package/src/tests/api/roles.ts +32 -0
  160. package/src/tests/api/templates.ts +30 -0
  161. package/src/tests/api/users.ts +4 -3
  162. package/src/tests/index.ts +6 -18
  163. package/src/tests/jestEnv.ts +11 -0
  164. package/src/tests/jestSetup.ts +8 -15
  165. package/src/tests/mocks/{email.js → email.ts} +1 -1
  166. package/src/tests/mocks/index.ts +4 -4
  167. package/src/tests/structures/configs.ts +2 -2
  168. package/src/tests/structures/groups.ts +1 -1
  169. package/src/tests/structures/index.ts +3 -5
  170. package/src/tests/structures/users.ts +1 -1
  171. package/src/utilities/appService.ts +12 -3
  172. package/tsconfig.json +2 -2
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">98% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>39/39</span>
28
+ <span class='fraction'>49/50</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/10</span>
35
+ <span class='fraction'>12/12</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">91.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/5</span>
42
+ <span class='fraction'>11/12</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">92.85% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>39/39</span>
49
+ <span class='fraction'>13/14</span>
50
50
  </div>
51
51
 
52
52
 
@@ -239,56 +239,54 @@
239
239
  <a name='L174'></a><a href='#L174'>174</a>
240
240
  <a name='L175'></a><a href='#L175'>175</a>
241
241
  <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-no">&nbsp;</span>
253
+ <span class="cline-any cline-yes">18x</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-yes">18x</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-yes">79x</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-yes">18x</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-yes">18x</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-yes">18x</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
274
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">17x</span>
245
275
  <span class="cline-any cline-neutral">&nbsp;</span>
246
276
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">17x</span>
248
- <span class="cline-any cline-yes">17x</span>
249
- <span class="cline-any cline-yes">17x</span>
250
277
  <span class="cline-any cline-neutral">&nbsp;</span>
251
278
  <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-yes">17x</span>
279
+ <span class="cline-any cline-yes">18x</span>
253
280
  <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-yes">17x</span>
255
- <span class="cline-any cline-yes">17x</span>
256
- <span class="cline-any cline-yes">17x</span>
257
281
  <span class="cline-any cline-neutral">&nbsp;</span>
258
282
  <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-yes">17x</span>
260
- <span class="cline-any cline-yes">17x</span>
261
283
  <span class="cline-any cline-neutral">&nbsp;</span>
262
284
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">17x</span>
264
- <span class="cline-any cline-yes">17x</span>
265
- <span class="cline-any cline-yes">17x</span>
266
- <span class="cline-any cline-yes">17x</span>
267
- <span class="cline-any cline-yes">17x</span>
268
- <span class="cline-any cline-yes">17x</span>
269
285
  <span class="cline-any cline-neutral">&nbsp;</span>
270
286
  <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">17x</span>
272
- <span class="cline-any cline-yes">17x</span>
273
- <span class="cline-any cline-yes">17x</span>
274
- <span class="cline-any cline-yes">17x</span>
275
- <span class="cline-any cline-yes">17x</span>
276
- <span class="cline-any cline-yes">17x</span>
277
- <span class="cline-any cline-yes">17x</span>
278
- <span class="cline-any cline-yes">17x</span>
279
- <span class="cline-any cline-yes">17x</span>
280
- <span class="cline-any cline-yes">17x</span>
281
- <span class="cline-any cline-yes">17x</span>
282
- <span class="cline-any cline-yes">17x</span>
283
- <span class="cline-any cline-yes">17x</span>
284
- <span class="cline-any cline-yes">17x</span>
285
- <span class="cline-any cline-yes">17x</span>
286
- <span class="cline-any cline-yes">17x</span>
287
- <span class="cline-any cline-yes">17x</span>
288
- <span class="cline-any cline-yes">17x</span>
287
+ <span class="cline-any cline-yes">18x</span>
289
288
  <span class="cline-any cline-neutral">&nbsp;</span>
290
289
  <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">17x</span>
292
290
  <span class="cline-any cline-neutral">&nbsp;</span>
293
291
  <span class="cline-any cline-neutral">&nbsp;</span>
294
292
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -306,6 +304,7 @@
306
304
  <span class="cline-any cline-neutral">&nbsp;</span>
307
305
  <span class="cline-any cline-neutral">&nbsp;</span>
308
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-yes">18x</span>
309
308
  <span class="cline-any cline-neutral">&nbsp;</span>
310
309
  <span class="cline-any cline-neutral">&nbsp;</span>
311
310
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,7 +330,6 @@
331
330
  <span class="cline-any cline-neutral">&nbsp;</span>
332
331
  <span class="cline-any cline-neutral">&nbsp;</span>
333
332
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-yes">17x</span>
335
333
  <span class="cline-any cline-neutral">&nbsp;</span>
336
334
  <span class="cline-any cline-neutral">&nbsp;</span>
337
335
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -349,6 +347,7 @@
349
347
  <span class="cline-any cline-neutral">&nbsp;</span>
350
348
  <span class="cline-any cline-neutral">&nbsp;</span>
351
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-yes">18x</span>
352
351
  <span class="cline-any cline-neutral">&nbsp;</span>
353
352
  <span class="cline-any cline-neutral">&nbsp;</span>
354
353
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -413,11 +412,28 @@
413
412
  <span class="cline-any cline-neutral">&nbsp;</span>
414
413
  <span class="cline-any cline-neutral">&nbsp;</span>
415
414
  <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-yes">17x</span>
417
- <span class="cline-any cline-yes">17x</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-yes">20x</span>
433
+ <span class="cline-any cline-yes">18x</span>
418
434
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { constants } from "@budibase/backend-core"
419
435
  &nbsp;
420
- export const LOGO_URL =
436
+ export const <span class="cstat-no" title="statement not covered" >LOGO_URL<span class="fstat-no" title="function not covered" > </span>=</span>
421
437
  "https://d33wubrfki0l68.cloudfront.net/aac32159d7207b5085e74a7ef67afbb7027786c5/2b1fd/img/logo/bb-emblem.svg"
422
438
  &nbsp;
423
439
  export enum UserStatus {
@@ -444,6 +460,14 @@ export enum EmailTemplatePurpose {
444
460
  CUSTOM = "custom",
445
461
  }
446
462
  &nbsp;
463
+ export enum TemplateMetadataNames {
464
+ BASE = "Base format",
465
+ PASSWORD_RECOVERY = "Password recovery",
466
+ WELCOME = "User welcome",
467
+ INVITATION = "User invitation",
468
+ CUSTOM = "Custom",
469
+ }
470
+ &nbsp;
447
471
  export enum InternalTemplateBinding {
448
472
  PLATFORM_URL = "platformUrl",
449
473
  COMPANY = "company",
@@ -510,7 +534,7 @@ export const TemplateBindings = {
510
534
  export const TemplateMetadata = {
511
535
  [TemplateType.EMAIL]: [
512
536
  {
513
- name: "Base format",
537
+ name: TemplateMetadataNames.BASE,
514
538
  description:
515
539
  "This is the base template, all others are based on it. The {{ body }} will be replaced with another email template.",
516
540
  category: "miscellaneous",
@@ -527,7 +551,7 @@ export const TemplateMetadata = {
527
551
  ],
528
552
  },
529
553
  {
530
- name: "Password recovery",
554
+ name: TemplateMetadataNames.PASSWORD_RECOVERY,
531
555
  description:
532
556
  "When a user requests a password reset they will receive an email built with this template.",
533
557
  category: "user management",
@@ -546,7 +570,7 @@ export const TemplateMetadata = {
546
570
  ],
547
571
  },
548
572
  {
549
- name: "User welcome",
573
+ name: TemplateMetadataNames.WELCOME,
550
574
  description:
551
575
  "When a new user is added they will be sent a welcome email using this template.",
552
576
  category: "user management",
@@ -554,7 +578,7 @@ export const TemplateMetadata = {
554
578
  bindings: [],
555
579
  },
556
580
  {
557
- name: "User invitation",
581
+ name: TemplateMetadataNames.INVITATION,
558
582
  description:
559
583
  "When inviting a user via the email on-boarding this template will be used.",
560
584
  category: "user management",
@@ -573,7 +597,7 @@ export const TemplateMetadata = {
573
597
  ],
574
598
  },
575
599
  {
576
- name: "Custom",
600
+ name: TemplateMetadataNames.CUSTOM,
577
601
  description:
578
602
  "A custom template, this is currently used for SMTP email actions in automations.",
579
603
  category: "automations",
@@ -598,7 +622,7 @@ export const GLOBAL_OWNER = "global"
598
622
  <div class='footer quiet pad2 space-top1 center small'>
599
623
  Code coverage generated by
600
624
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
601
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
625
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
602
626
  </div>
603
627
  <script src="../../prettify.js"></script>
604
628
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.81% </span>
26
+ <span class="strong">91.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/33</span>
28
+ <span class='fraction'>31/34</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">55.55% </span>
33
+ <span class="strong">88.88% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/9</span>
35
+ <span class='fraction'>8/9</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">71.42% </span>
40
+ <span class="strong">81.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/7</span>
42
+ <span class='fraction'>9/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.2% </span>
47
+ <span class="strong">93.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/29</span>
49
+ <span class='fraction'>27/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
- <td data-value="81.81" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
83
+ <td data-value="91.17" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
85
85
  </td>
86
+ <td data-value="91.17" class="pct high">91.17%</td>
87
+ <td data-value="34" class="abs high">31/34</td>
88
+ <td data-value="88.88" class="pct high">88.88%</td>
89
+ <td data-value="9" class="abs high">8/9</td>
86
90
  <td data-value="81.81" class="pct high">81.81%</td>
87
- <td data-value="33" class="abs high">27/33</td>
88
- <td data-value="55.55" class="pct medium">55.55%</td>
89
- <td data-value="9" class="abs medium">5/9</td>
90
- <td data-value="71.42" class="pct medium">71.42%</td>
91
- <td data-value="7" class="abs medium">5/7</td>
92
- <td data-value="86.2" class="pct high">86.2%</td>
93
- <td data-value="29" class="abs high">25/29</td>
91
+ <td data-value="11" class="abs high">9/11</td>
92
+ <td data-value="93.1" class="pct high">93.1%</td>
93
+ <td data-value="29" class="abs high">27/29</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
104
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.81% </span>
26
+ <span class="strong">91.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/33</span>
28
+ <span class='fraction'>31/34</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">55.55% </span>
33
+ <span class="strong">88.88% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/9</span>
35
+ <span class='fraction'>8/9</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">71.42% </span>
40
+ <span class="strong">81.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/7</span>
42
+ <span class='fraction'>9/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.2% </span>
47
+ <span class="strong">93.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/29</span>
49
+ <span class='fraction'>27/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -140,18 +140,18 @@
140
140
  <a name='L75'></a><a href='#L75'>75</a>
141
141
  <a name='L76'></a><a href='#L76'>76</a>
142
142
  <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
144
- <span class="cline-any cline-yes">17x</span>
143
+ <a name='L78'></a><a href='#L78'>78</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
145
144
  <span class="cline-any cline-neutral">&nbsp;</span>
146
145
  <span class="cline-any cline-neutral">&nbsp;</span>
147
146
  <span class="cline-any cline-neutral">&nbsp;</span>
148
147
  <span class="cline-any cline-neutral">&nbsp;</span>
149
148
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">17x</span>
151
- <span class="cline-any cline-yes">17x</span>
149
+ <span class="cline-any cline-yes">18x</span>
150
+ <span class="cline-any cline-yes">18x</span>
151
+ <span class="cline-any cline-yes">18x</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">17x</span>
154
+ <span class="cline-any cline-yes">18x</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
156
  <span class="cline-any cline-neutral">&nbsp;</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -165,55 +165,55 @@
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
167
  <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-yes">17x</span>
168
+ <span class="cline-any cline-no">&nbsp;</span>
169
169
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">14x</span>
170
+ <span class="cline-any cline-yes">16x</span>
171
171
  <span class="cline-any cline-neutral">&nbsp;</span>
172
172
  <span class="cline-any cline-yes">14x</span>
173
173
  <span class="cline-any cline-yes">14x</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-no">&nbsp;</span>
176
- <span class="cline-any cline-no">&nbsp;</span>
175
+ <span class="cline-any cline-yes">2x</span>
176
+ <span class="cline-any cline-yes">2x</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">14x</span>
178
+ <span class="cline-any cline-yes">16x</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">140x</span>
181
- <span class="cline-any cline-no">&nbsp;</span>
180
+ <span class="cline-any cline-yes">164x</span>
181
+ <span class="cline-any cline-yes">4x</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">70x</span>
184
- <span class="cline-any cline-yes">70x</span>
183
+ <span class="cline-any cline-yes">76x</span>
184
+ <span class="cline-any cline-yes">76x</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
186
  <span class="cline-any cline-neutral">&nbsp;</span>
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
190
  <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">14x</span>
191
+ <span class="cline-any cline-yes">16x</span>
192
192
  <span class="cline-any cline-neutral">&nbsp;</span>
193
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">17x</span>
194
+ <span class="cline-any cline-yes">2x</span>
195
195
  <span class="cline-any cline-neutral">&nbsp;</span>
196
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">14x</span>
200
- <span class="cline-any cline-yes">14x</span>
199
+ <span class="cline-any cline-yes">16x</span>
200
+ <span class="cline-any cline-yes">16x</span>
201
201
  <span class="cline-any cline-neutral">&nbsp;</span>
202
202
  <span class="cline-any cline-neutral">&nbsp;</span>
203
203
  <span class="cline-any cline-neutral">&nbsp;</span>
204
204
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">14x</span>
205
+ <span class="cline-any cline-yes">16x</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">14x</span>
207
+ <span class="cline-any cline-yes">16x</span>
208
208
  <span class="cline-any cline-no">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">14x</span>
210
+ <span class="cline-any cline-yes">16x</span>
211
211
  <span class="cline-any cline-yes">14x</span>
212
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">14x</span>
213
+ <span class="cline-any cline-yes">16x</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">17x</span>
216
+ <span class="cline-any cline-yes">14x</span>
217
217
  <span class="cline-any cline-yes">14x</span>
218
218
  <span class="cline-any cline-yes">26x</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -228,7 +228,7 @@ import { join } from "path"
228
228
  import { db as dbCore, tenancy } from "@budibase/backend-core"
229
229
  import { Template } from "@budibase/types"
230
230
  &nbsp;
231
- export const EmailTemplates = {
231
+ export const <span class="cstat-no" title="statement not covered" >EmailTemplates<span class="fstat-no" title="function not covered" > </span>= {</span>
232
232
  [EmailTemplatePurpose.PASSWORD_RECOVERY]: readStaticFile(
233
233
  join(__dirname, "passwordRecovery.hbs")
234
234
  ),
@@ -242,20 +242,20 @@ export const EmailTemplates = {
242
242
  [EmailTemplatePurpose.CUSTOM]: readStaticFile(join(__dirname, "custom.hbs")),
243
243
  }
244
244
  &nbsp;
245
- export function addBaseTemplates(templates: Template[], type?: string) {
245
+ export function <span class="cstat-no" title="statement not covered" >addBaseTemplates<span class="fstat-no" title="function not covered" >(</span>t</span>emplates: Template[], type?: string) {
246
246
  let purposeList
247
247
  switch (type) {
248
248
  case TemplateType.EMAIL:
249
249
  purposeList = Object.values(EmailTemplatePurpose)
250
250
  break
251
- <span class="branch-1 cbranch-no" title="branch not covered" > default:</span>
252
- <span class="cstat-no" title="statement not covered" > purposeList = Object.values(TemplatePurpose)</span>
253
- <span class="cstat-no" title="statement not covered" > break</span>
251
+ default:
252
+ purposeList = Object.values(TemplatePurpose)
253
+ break
254
254
  }
255
255
  for (let purpose of purposeList) {
256
256
  // check if a template exists already for purpose
257
- <span class="missing-if-branch" title="if path not taken" >I</span>if (templates.find(template =&gt; template.purpose === purpose)) {
258
- <span class="cstat-no" title="statement not covered" > continue</span>
257
+ if (templates.find(template =&gt; template.purpose === purpose)) {
258
+ continue
259
259
  }
260
260
  if (EmailTemplates[purpose]) {
261
261
  templates.push({
@@ -272,20 +272,20 @@ export async function getTemplates({
272
272
  ownerId,
273
273
  type,
274
274
  id,
275
- }: { ownerId?: string; type?: string; id?: string } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
275
+ }: { ownerId?: string; type?: string; id?: string } = {}) {
276
276
  const db = tenancy.getGlobalDB()
277
277
  const response = await db.allDocs(
278
278
  dbCore.getTemplateParams(ownerId || GLOBAL_OWNER, id, {
279
279
  include_docs: true,
280
280
  })
281
281
  )
282
- let templates = response.rows.map(<span class="fstat-no" title="function not covered" >row </span>=&gt; <span class="cstat-no" title="statement not covered" >row.doc)</span>
282
+ let templates = response.rows.map(row =&gt; row.doc)
283
283
  // should only be one template with ID
284
284
  <span class="missing-if-branch" title="if path not taken" >I</span>if (id) {
285
285
  <span class="cstat-no" title="statement not covered" > return templates[0]</span>
286
286
  }
287
287
  if (type) {
288
- templates = templates.filter(<span class="fstat-no" title="function not covered" >template </span>=&gt; <span class="cstat-no" title="statement not covered" >template.type === type)</span>
288
+ templates = templates.filter(template =&gt; template.type === type)
289
289
  }
290
290
  return addBaseTemplates(templates, type)
291
291
  }
@@ -301,7 +301,7 @@ export async function getTemplateByPurpose(type: string, purpose: string) {
301
301
  <div class='footer quiet pad2 space-top1 center small'>
302
302
  Code coverage generated by
303
303
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
304
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
304
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
305
305
  </div>
306
306
  <script src="../../../prettify.js"></script>
307
307
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">87.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>8/8</span>
28
+ <span class='fraction'>7/8</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">66.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>3/3</span>
35
+ <span class='fraction'>2/3</span>
36
36
  </div>
37
37
 
38
38
 
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
- <span class="strong">100% </span>
47
+ <span class="strong">85.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/7</span>
49
+ <span class='fraction'>6/7</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
- <td data-value="100" class="pic high">
84
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
83
+ <td data-value="87.5" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
85
85
  </td>
86
+ <td data-value="87.5" class="pct high">87.5%</td>
87
+ <td data-value="8" class="abs high">7/8</td>
88
+ <td data-value="66.66" class="pct medium">66.66%</td>
89
+ <td data-value="3" class="abs medium">2/3</td>
86
90
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="8" class="abs high">8/8</td>
88
- <td data-value="100" class="pct high">100%</td>
89
- <td data-value="3" class="abs high">3/3</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="1" class="abs high">1/1</td>
92
- <td data-value="100" class="pct high">100%</td>
93
- <td data-value="7" class="abs high">7/7</td>
91
+ <td data-value="2" class="abs high">2/2</td>
92
+ <td data-value="85.71" class="pct high">85.71%</td>
93
+ <td data-value="7" class="abs high">6/7</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
104
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>