@budibase/worker 2.1.22-alpha.5 → 2.1.22-alpha.6

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 (156) hide show
  1. package/__mocks__/oauth.ts +57 -0
  2. package/coverage/clover.xml +1093 -1033
  3. package/coverage/coverage-final.json +77 -72
  4. package/coverage/lcov-report/index.html +83 -83
  5. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +70 -70
  6. package/coverage/lcov-report/src/api/controllers/global/configs.js.html +35 -35
  7. package/coverage/lcov-report/src/api/controllers/global/email.js.html +4 -4
  8. package/coverage/lcov-report/src/api/controllers/global/index.html +38 -38
  9. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +7 -7
  10. package/coverage/lcov-report/src/api/controllers/global/roles.js.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +58 -58
  12. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +11 -11
  13. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +75 -69
  14. package/coverage/lcov-report/src/api/controllers/global/workspaces.js.html +7 -7
  15. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +4 -4
  16. package/coverage/lcov-report/src/api/controllers/system/{environment.js.html → environment.ts.html} +21 -18
  17. package/coverage/lcov-report/src/api/controllers/system/index.html +63 -63
  18. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +23 -23
  19. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +22 -22
  20. package/coverage/lcov-report/src/api/controllers/system/{status.js.html → status.ts.html} +29 -26
  21. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +34 -163
  22. package/coverage/lcov-report/src/api/index.html +11 -11
  23. package/coverage/lcov-report/src/api/index.ts.html +113 -44
  24. package/coverage/lcov-report/src/api/routes/global/auth.js.html +38 -89
  25. package/coverage/lcov-report/src/api/routes/global/configs.js.html +17 -17
  26. package/coverage/lcov-report/src/api/routes/global/email.js.html +11 -11
  27. package/coverage/lcov-report/src/api/routes/global/index.html +11 -11
  28. package/coverage/lcov-report/src/api/routes/global/license.ts.html +6 -6
  29. package/coverage/lcov-report/src/api/routes/global/roles.js.html +7 -7
  30. package/coverage/lcov-report/src/api/routes/global/self.ts.html +8 -8
  31. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +11 -11
  32. package/coverage/lcov-report/src/api/routes/global/users.js.html +17 -17
  33. package/coverage/lcov-report/src/api/routes/global/workspaces.js.html +10 -10
  34. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  35. package/coverage/lcov-report/src/api/routes/index.ts.html +19 -19
  36. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +7 -7
  37. package/coverage/lcov-report/src/api/routes/system/{environment.js.html → environment.ts.html} +11 -11
  38. package/coverage/lcov-report/src/api/routes/system/index.html +4 -4
  39. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +7 -7
  40. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +6 -6
  41. package/coverage/lcov-report/src/api/routes/system/{status.js.html → status.ts.html} +11 -11
  42. package/coverage/lcov-report/src/api/routes/system/{tenants.js.html → tenants.ts.html} +20 -17
  43. package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
  45. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +13 -13
  46. package/coverage/lcov-report/src/constants/index.html +1 -1
  47. package/coverage/lcov-report/src/constants/index.js.html +18 -18
  48. package/coverage/lcov-report/src/constants/templates/index.html +1 -1
  49. package/coverage/lcov-report/src/constants/templates/index.js.html +10 -10
  50. package/coverage/lcov-report/src/db/index.html +1 -1
  51. package/coverage/lcov-report/src/db/index.ts.html +8 -8
  52. package/coverage/lcov-report/src/environment.ts.html +15 -15
  53. package/coverage/lcov-report/src/index.html +1 -1
  54. package/coverage/lcov-report/src/index.ts.html +40 -40
  55. package/coverage/lcov-report/src/middleware/cloudRestricted.js.html +22 -22
  56. package/coverage/lcov-report/src/middleware/index.html +21 -21
  57. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +3 -3
  58. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  59. package/coverage/lcov-report/src/migrations/index.html +1 -1
  60. package/coverage/lcov-report/src/migrations/index.ts.html +17 -17
  61. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +6 -6
  62. package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
  63. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
  64. package/coverage/lcov-report/src/sdk/index.html +1 -1
  65. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  66. package/coverage/lcov-report/src/sdk/users/events.ts.html +43 -43
  67. package/coverage/lcov-report/src/sdk/users/index.html +19 -19
  68. package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
  69. package/coverage/lcov-report/src/sdk/users/users.ts.html +99 -99
  70. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +261 -123
  71. package/coverage/lcov-report/src/tests/api/accounts.ts.html +12 -21
  72. package/coverage/lcov-report/src/tests/api/auth.ts.html +11 -20
  73. package/coverage/lcov-report/src/tests/api/base.ts.html +133 -0
  74. package/coverage/lcov-report/src/tests/api/configs.ts.html +44 -23
  75. package/coverage/lcov-report/src/tests/api/email.ts.html +9 -18
  76. package/coverage/lcov-report/src/tests/api/environment.ts.html +130 -0
  77. package/coverage/lcov-report/src/tests/api/index.html +106 -16
  78. package/coverage/lcov-report/src/tests/api/index.ts.html +62 -17
  79. package/coverage/lcov-report/src/tests/{structures/accounts.ts.html → api/migrations.ts.html} +31 -37
  80. package/coverage/lcov-report/src/tests/api/restore.ts.html +127 -0
  81. package/coverage/lcov-report/src/tests/api/self.ts.html +31 -16
  82. package/coverage/lcov-report/src/tests/api/status.ts.html +121 -0
  83. package/coverage/lcov-report/src/tests/api/tenants.ts.html +130 -0
  84. package/coverage/lcov-report/src/tests/api/users.ts.html +121 -25
  85. package/coverage/lcov-report/src/tests/controllers.js.html +2 -2
  86. package/coverage/lcov-report/src/tests/index.html +20 -20
  87. package/coverage/lcov-report/src/tests/index.ts.html +21 -9
  88. package/coverage/lcov-report/src/tests/mocks/email.js.html +2 -2
  89. package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
  90. package/coverage/lcov-report/src/tests/mocks/index.ts.html +4 -4
  91. package/coverage/lcov-report/src/tests/structures/configs.js.html +8 -8
  92. package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
  93. package/coverage/lcov-report/src/tests/structures/index.html +9 -24
  94. package/coverage/lcov-report/src/tests/structures/index.ts.html +21 -15
  95. package/coverage/lcov-report/src/tests/structures/users.ts.html +13 -10
  96. package/coverage/lcov-report/src/utilities/appService.js.html +11 -11
  97. package/coverage/lcov-report/src/utilities/email.js.html +16 -16
  98. package/coverage/lcov-report/src/utilities/fileSystem.js.html +4 -4
  99. package/coverage/lcov-report/src/utilities/index.html +1 -1
  100. package/coverage/lcov-report/src/utilities/index.js.html +2 -2
  101. package/coverage/lcov-report/src/utilities/redis.js.html +13 -13
  102. package/coverage/lcov-report/src/utilities/templates.js.html +7 -7
  103. package/coverage/lcov-report/src/utilities/users.js.html +8 -8
  104. package/coverage/lcov.info +1685 -1511
  105. package/package.json +8 -6
  106. package/scripts/localdomain.js +33 -7
  107. package/src/api/controllers/global/auth.ts +1 -1
  108. package/src/api/controllers/global/users.ts +3 -1
  109. package/src/api/controllers/system/{environment.js → environment.ts} +3 -2
  110. package/src/api/controllers/system/{status.js → status.ts} +4 -3
  111. package/src/api/controllers/system/tenants.ts +8 -51
  112. package/src/api/index.ts +29 -6
  113. package/src/api/routes/global/auth.js +22 -39
  114. package/src/api/routes/global/tests/auth.spec.ts +134 -64
  115. package/src/api/routes/global/tests/configs.spec.ts +5 -6
  116. package/src/api/routes/global/tests/email.spec.ts +4 -3
  117. package/src/api/routes/global/tests/license.spec.ts +31 -0
  118. package/src/api/routes/global/tests/realEmail.spec.ts +2 -3
  119. package/src/api/routes/global/tests/roles.spec.ts +27 -0
  120. package/src/api/routes/global/tests/self.spec.ts +3 -4
  121. package/src/api/routes/global/tests/templates.spec.ts +35 -0
  122. package/src/api/routes/global/tests/users.spec.ts +51 -43
  123. package/src/api/routes/global/tests/workspaces.spec.ts +29 -0
  124. package/src/api/routes/system/environment.ts +8 -0
  125. package/src/api/routes/system/status.ts +8 -0
  126. package/src/api/routes/system/tenants.ts +13 -0
  127. package/src/api/routes/system/tests/accounts.spec.ts +5 -6
  128. package/src/api/routes/system/tests/environment.spec.ts +29 -0
  129. package/src/api/routes/system/tests/migrations.spec.ts +63 -0
  130. package/src/api/routes/system/tests/restore.spec.ts +36 -0
  131. package/src/api/routes/system/tests/status.spec.ts +48 -0
  132. package/src/api/routes/system/tests/tenants.spec.ts +61 -0
  133. package/src/middleware/tests/tenancy.spec.ts +73 -0
  134. package/src/tests/TestConfiguration.ts +88 -42
  135. package/src/tests/api/accounts.ts +5 -8
  136. package/src/tests/api/auth.ts +3 -6
  137. package/src/tests/api/base.ts +16 -0
  138. package/src/tests/api/configs.ts +15 -8
  139. package/src/tests/api/email.ts +3 -6
  140. package/src/tests/api/environment.ts +15 -0
  141. package/src/tests/api/index.ts +15 -0
  142. package/src/tests/api/migrations.ts +22 -0
  143. package/src/tests/api/restore.ts +14 -0
  144. package/src/tests/api/self.ts +11 -6
  145. package/src/tests/api/status.ts +12 -0
  146. package/src/tests/api/tenants.ts +15 -0
  147. package/src/tests/api/users.ts +38 -6
  148. package/src/tests/index.ts +4 -0
  149. package/src/tests/jestSetup.ts +7 -1
  150. package/src/tests/structures/index.ts +4 -2
  151. package/src/tests/structures/users.ts +1 -0
  152. package/__mocks__/node-fetch.ts +0 -1
  153. package/src/api/routes/system/environment.js +0 -8
  154. package/src/api/routes/system/status.js +0 -8
  155. package/src/api/routes/system/tenants.js +0 -12
  156. package/src/tests/structures/accounts.ts +0 -24
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">61.19% </span>
26
+ <span class="strong">76.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>82/134</span>
28
+ <span class='fraction'>102/134</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.5% </span>
33
+ <span class="strong">57.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>19/40</span>
35
+ <span class='fraction'>23/40</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">54.54% </span>
40
+ <span class="strong">75.75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>18/33</span>
42
+ <span class='fraction'>25/33</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">57.54% </span>
47
+ <span class="strong">73.58% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>61/106</span>
49
+ <span class='fraction'>78/106</span>
50
50
  </div>
51
51
 
52
52
 
@@ -298,9 +298,11 @@
298
298
  <a name='L233'></a><a href='#L233'>233</a>
299
299
  <a name='L234'></a><a href='#L234'>234</a>
300
300
  <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
302
- <span class="cline-any cline-yes">7x</span>
303
- <span class="cline-any cline-yes">7x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
304
+ <span class="cline-any cline-yes">17x</span>
305
+ <span class="cline-any cline-yes">17x</span>
304
306
  <span class="cline-any cline-neutral">&nbsp;</span>
305
307
  <span class="cline-any cline-neutral">&nbsp;</span>
306
308
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -310,33 +312,34 @@
310
312
  <span class="cline-any cline-neutral">&nbsp;</span>
311
313
  <span class="cline-any cline-neutral">&nbsp;</span>
312
314
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">7x</span>
314
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">17x</span>
315
317
  <span class="cline-any cline-neutral">&nbsp;</span>
316
318
  <span class="cline-any cline-neutral">&nbsp;</span>
317
319
  <span class="cline-any cline-neutral">&nbsp;</span>
318
320
  <span class="cline-any cline-neutral">&nbsp;</span>
319
321
  <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-yes">7x</span>
321
322
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">7x</span>
323
+ <span class="cline-any cline-yes">17x</span>
323
324
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">57x</span>
325
- <span class="cline-any cline-yes">57x</span>
326
- <span class="cline-any cline-yes">57x</span>
325
+ <span class="cline-any cline-yes">17x</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-yes">78x</span>
328
+ <span class="cline-any cline-yes">78x</span>
329
+ <span class="cline-any cline-yes">78x</span>
327
330
  <span class="cline-any cline-neutral">&nbsp;</span>
328
331
  <span class="cline-any cline-yes">5x</span>
329
332
  <span class="cline-any cline-neutral">&nbsp;</span>
330
333
  <span class="cline-any cline-neutral">&nbsp;</span>
331
334
  <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-yes">7x</span>
335
+ <span class="cline-any cline-yes">17x</span>
333
336
  <span class="cline-any cline-yes">3x</span>
334
337
  <span class="cline-any cline-yes">1x</span>
335
338
  <span class="cline-any cline-neutral">&nbsp;</span>
336
339
  <span class="cline-any cline-yes">2x</span>
337
340
  <span class="cline-any cline-neutral">&nbsp;</span>
338
341
  <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-yes">7x</span>
342
+ <span class="cline-any cline-yes">17x</span>
340
343
  <span class="cline-any cline-yes">6x</span>
341
344
  <span class="cline-any cline-no">&nbsp;</span>
342
345
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -345,7 +348,7 @@
345
348
  <span class="cline-any cline-yes">6x</span>
346
349
  <span class="cline-any cline-neutral">&nbsp;</span>
347
350
  <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-yes">9x</span>
351
+ <span class="cline-any cline-yes">17x</span>
349
352
  <span class="cline-any cline-yes">9x</span>
350
353
  <span class="cline-any cline-yes">9x</span>
351
354
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -362,31 +365,32 @@
362
365
  <span class="cline-any cline-yes">8x</span>
363
366
  <span class="cline-any cline-neutral">&nbsp;</span>
364
367
  <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-yes">7x</span>
366
- <span class="cline-any cline-no">&nbsp;</span>
368
+ <span class="cline-any cline-yes">17x</span>
369
+ <span class="cline-any cline-yes">12x</span>
367
370
  <span class="cline-any cline-neutral">&nbsp;</span>
368
371
  <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-yes">7x</span>
370
- <span class="cline-any cline-no">&nbsp;</span>
371
- <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-yes">17x</span>
373
+ <span class="cline-any cline-yes">6x</span>
372
374
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-no">&nbsp;</span>
375
+ <span class="cline-any cline-yes">6x</span>
374
376
  <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-no">&nbsp;</span>
377
+ <span class="cline-any cline-yes">6x</span>
376
378
  <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-no">&nbsp;</span>
379
+ <span class="cline-any cline-yes">6x</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-yes">6x</span>
378
382
  <span class="cline-any cline-no">&nbsp;</span>
379
383
  <span class="cline-any cline-neutral">&nbsp;</span>
380
384
  <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-no">&nbsp;</span>
382
- <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-yes">6x</span>
386
+ <span class="cline-any cline-yes">6x</span>
383
387
  <span class="cline-any cline-no">&nbsp;</span>
384
388
  <span class="cline-any cline-neutral">&nbsp;</span>
385
389
  <span class="cline-any cline-neutral">&nbsp;</span>
386
390
  <span class="cline-any cline-neutral">&nbsp;</span>
387
391
  <span class="cline-any cline-neutral">&nbsp;</span>
388
392
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-no">&nbsp;</span>
393
+ <span class="cline-any cline-yes">6x</span>
390
394
  <span class="cline-any cline-neutral">&nbsp;</span>
391
395
  <span class="cline-any cline-neutral">&nbsp;</span>
392
396
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -399,30 +403,30 @@
399
403
  <span class="cline-any cline-neutral">&nbsp;</span>
400
404
  <span class="cline-any cline-neutral">&nbsp;</span>
401
405
  <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-no">&nbsp;</span>
406
+ <span class="cline-any cline-yes">6x</span>
403
407
  <span class="cline-any cline-neutral">&nbsp;</span>
404
408
  <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-no">&nbsp;</span>
406
- <span class="cline-any cline-no">&nbsp;</span>
409
+ <span class="cline-any cline-yes">6x</span>
410
+ <span class="cline-any cline-yes">6x</span>
407
411
  <span class="cline-any cline-neutral">&nbsp;</span>
408
412
  <span class="cline-any cline-neutral">&nbsp;</span>
409
413
  <span class="cline-any cline-neutral">&nbsp;</span>
410
414
  <span class="cline-any cline-neutral">&nbsp;</span>
411
415
  <span class="cline-any cline-neutral">&nbsp;</span>
412
416
  <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-no">&nbsp;</span>
414
- <span class="cline-any cline-no">&nbsp;</span>
417
+ <span class="cline-any cline-yes">6x</span>
418
+ <span class="cline-any cline-yes">6x</span>
415
419
  <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-yes">6x</span>
417
421
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-no">&nbsp;</span>
422
+ <span class="cline-any cline-yes">6x</span>
419
423
  <span class="cline-any cline-neutral">&nbsp;</span>
420
424
  <span class="cline-any cline-no">&nbsp;</span>
421
425
  <span class="cline-any cline-neutral">&nbsp;</span>
422
426
  <span class="cline-any cline-neutral">&nbsp;</span>
423
427
  <span class="cline-any cline-neutral">&nbsp;</span>
424
428
  <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">7x</span>
429
+ <span class="cline-any cline-yes">17x</span>
426
430
  <span class="cline-any cline-no">&nbsp;</span>
427
431
  <span class="cline-any cline-no">&nbsp;</span>
428
432
  <span class="cline-any cline-no">&nbsp;</span>
@@ -431,7 +435,7 @@
431
435
  <span class="cline-any cline-neutral">&nbsp;</span>
432
436
  <span class="cline-any cline-neutral">&nbsp;</span>
433
437
  <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-yes">7x</span>
438
+ <span class="cline-any cline-yes">17x</span>
435
439
  <span class="cline-any cline-yes">5x</span>
436
440
  <span class="cline-any cline-yes">5x</span>
437
441
  <span class="cline-any cline-yes">1x</span>
@@ -444,7 +448,7 @@
444
448
  <span class="cline-any cline-neutral">&nbsp;</span>
445
449
  <span class="cline-any cline-neutral">&nbsp;</span>
446
450
  <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-yes">7x</span>
451
+ <span class="cline-any cline-yes">17x</span>
448
452
  <span class="cline-any cline-no">&nbsp;</span>
449
453
  <span class="cline-any cline-no">&nbsp;</span>
450
454
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -457,7 +461,7 @@
457
461
  <span class="cline-any cline-neutral">&nbsp;</span>
458
462
  <span class="cline-any cline-neutral">&nbsp;</span>
459
463
  <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">7x</span>
464
+ <span class="cline-any cline-yes">17x</span>
461
465
  <span class="cline-any cline-no">&nbsp;</span>
462
466
  <span class="cline-any cline-neutral">&nbsp;</span>
463
467
  <span class="cline-any cline-no">&nbsp;</span>
@@ -469,11 +473,11 @@
469
473
  <span class="cline-any cline-neutral">&nbsp;</span>
470
474
  <span class="cline-any cline-neutral">&nbsp;</span>
471
475
  <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-yes">7x</span>
473
- <span class="cline-any cline-no">&nbsp;</span>
476
+ <span class="cline-any cline-yes">17x</span>
477
+ <span class="cline-any cline-yes">6x</span>
474
478
  <span class="cline-any cline-neutral">&nbsp;</span>
475
479
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-yes">7x</span>
480
+ <span class="cline-any cline-yes">17x</span>
477
481
  <span class="cline-any cline-no">&nbsp;</span>
478
482
  <span class="cline-any cline-no">&nbsp;</span>
479
483
  <span class="cline-any cline-no">&nbsp;</span>
@@ -483,7 +487,7 @@
483
487
  <span class="cline-any cline-neutral">&nbsp;</span>
484
488
  <span class="cline-any cline-neutral">&nbsp;</span>
485
489
  <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-yes">7x</span>
490
+ <span class="cline-any cline-yes">17x</span>
487
491
  <span class="cline-any cline-yes">3x</span>
488
492
  <span class="cline-any cline-yes">3x</span>
489
493
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -502,12 +506,12 @@
502
506
  <span class="cline-any cline-neutral">&nbsp;</span>
503
507
  <span class="cline-any cline-neutral">&nbsp;</span>
504
508
  <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-yes">7x</span>
509
+ <span class="cline-any cline-yes">17x</span>
506
510
  <span class="cline-any cline-yes">2x</span>
507
511
  <span class="cline-any cline-yes">2x</span>
508
512
  <span class="cline-any cline-neutral">&nbsp;</span>
509
513
  <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-yes">7x</span>
514
+ <span class="cline-any cline-yes">17x</span>
511
515
  <span class="cline-any cline-yes">1x</span>
512
516
  <span class="cline-any cline-yes">1x</span>
513
517
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -540,6 +544,7 @@ import {
540
544
  BulkUserRequest,
541
545
  BulkUserResponse,
542
546
  CloudAccount,
547
+ CreateAdminUserRequest,
543
548
  InviteUserRequest,
544
549
  InviteUsersRequest,
545
550
  SearchUsersRequest,
@@ -597,31 +602,32 @@ export const bulkUpdate = async (ctx: any) =&gt; {
597
602
  ctx.body = { created, deleted } as BulkUserResponse
598
603
  }
599
604
  &nbsp;
600
- const parseBooleanParam = <span class="fstat-no" title="function not covered" >(p</span>aram: any) =&gt; {
601
- <span class="cstat-no" title="statement not covered" > return !(param &amp;&amp; param === "false")</span>
605
+ const parseBooleanParam = (param: any) =&gt; {
606
+ return !(param &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >param === "false")</span>
602
607
  }
603
608
  &nbsp;
604
- export const adminUser = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
605
- const { email, password, tenantId } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
606
- <span class="cstat-no" title="statement not covered" > await tenancy.doInTenant(tenantId, <span class="fstat-no" title="function not covered" >async () =</span>&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span></span>
609
+ export const adminUser = async (ctx: any) =&gt; {
610
+ const { email, password, tenantId } = ctx.request
611
+ .body as CreateAdminUserRequest
612
+ await tenancy.doInTenant(tenantId, async () =&gt; {
607
613
  // account portal sends a pre-hashed password - honour param to prevent double hashing
608
- const hashPassword = <span class="cstat-no" title="statement not covered" >parseBooleanParam(ctx.request.query.hashPassword)</span>
614
+ const hashPassword = parseBooleanParam(ctx.request.query.hashPassword)
609
615
  // account portal sends no password for SSO users
610
- const requirePassword = <span class="cstat-no" title="statement not covered" >parseBooleanParam(ctx.request.query.requirePassword)</span>
616
+ const requirePassword = parseBooleanParam(ctx.request.query.requirePassword)
611
617
  &nbsp;
612
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (await tenancy.doesTenantExist(tenantId)) {</span>
618
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (await tenancy.doesTenantExist(tenantId)) {
613
619
  <span class="cstat-no" title="statement not covered" > ctx.throw(403, "Organisation already exists.")</span>
614
620
  }
615
621
  &nbsp;
616
- const userExists = <span class="cstat-no" title="statement not covered" >await checkAnyUserExists()</span>
617
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (userExists) {</span>
622
+ const userExists = await checkAnyUserExists()
623
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (userExists) {
618
624
  <span class="cstat-no" title="statement not covered" > ctx.throw(</span>
619
625
  403,
620
626
  "You cannot initialise once an global user has been created."
621
627
  )
622
628
  }
623
629
  &nbsp;
624
- const user: User = <span class="cstat-no" title="statement not covered" >{</span>
630
+ const user: User = {
625
631
  email: email,
626
632
  password: password,
627
633
  createdAt: Date.now(),
@@ -634,23 +640,23 @@ export const adminUser = <span class="fstat-no" title="function not covered" >as
634
640
  },
635
641
  tenantId,
636
642
  }
637
- <span class="cstat-no" title="statement not covered" > try {</span>
643
+ try {
638
644
  // always bust checklist beforehand, if an error occurs but can proceed, don't get
639
645
  // stuck in a cycle
640
- <span class="cstat-no" title="statement not covered" > await cache.bustCache(cache.CacheKeys.CHECKLIST)</span>
641
- const finalUser = <span class="cstat-no" title="statement not covered" >await sdk.users.save(user, {</span>
646
+ await cache.bustCache(cache.CacheKeys.CHECKLIST)
647
+ const finalUser = await sdk.users.save(user, {
642
648
  hashPassword,
643
649
  requirePassword,
644
650
  })
645
651
  &nbsp;
646
652
  // events
647
653
  let account: CloudAccount | undefined
648
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!env.SELF_HOSTED &amp;&amp; !env.DISABLE_ACCOUNT_PORTAL) {</span>
649
- <span class="cstat-no" title="statement not covered" > account = await accounts.getAccountByTenantId(tenantId)</span>
654
+ if (!env.SELF_HOSTED &amp;&amp; !env.DISABLE_ACCOUNT_PORTAL) {
655
+ account = await accounts.getAccountByTenantId(tenantId)
650
656
  }
651
- <span class="cstat-no" title="statement not covered" > await events.identification.identifyTenantGroup(tenantId, account)</span>
657
+ await events.identification.identifyTenantGroup(tenantId, account)
652
658
  &nbsp;
653
- <span class="cstat-no" title="statement not covered" > ctx.body = finalUser</span>
659
+ ctx.body = finalUser
654
660
  } catch (err: any) {
655
661
  <span class="cstat-no" title="statement not covered" > ctx.throw(err.status || 400, err)</span>
656
662
  }
@@ -704,8 +710,8 @@ export const fetch = <span class="fstat-no" title="function not covered" >async
704
710
  }
705
711
  &nbsp;
706
712
  // called internally by app server user find
707
- export const find = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
708
- <span class="cstat-no" title="statement not covered" > ctx.body = await sdk.users.getUser(ctx.params.id)</span>
713
+ export const find = async (ctx: any) =&gt; {
714
+ ctx.body = await sdk.users.getUser(ctx.params.id)
709
715
  }
710
716
  &nbsp;
711
717
  export const tenantUserLookup = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
@@ -775,7 +781,7 @@ export const inviteAccept = async (ctx: any) =&gt; {
775
781
  <div class='footer quiet pad2 space-top1 center small'>
776
782
  Code coverage generated by
777
783
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
778
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
784
+ at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
779
785
  </div>
780
786
  <script src="../../../../prettify.js"></script>
781
787
  <script>
@@ -122,10 +122,10 @@
122
122
  <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">7x</span>
126
- <span class="cline-any cline-yes">7x</span>
125
+ <span class="cline-any cline-yes">17x</span>
126
+ <span class="cline-any cline-yes">17x</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">7x</span>
128
+ <span class="cline-any cline-yes">17x</span>
129
129
  <span class="cline-any cline-no">&nbsp;</span>
130
130
  <span class="cline-any cline-no">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -145,7 +145,7 @@
145
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-yes">7x</span>
148
+ <span class="cline-any cline-yes">17x</span>
149
149
  <span class="cline-any cline-no">&nbsp;</span>
150
150
  <span class="cline-any cline-no">&nbsp;</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -155,7 +155,7 @@
155
155
  <span class="cline-any cline-no">&nbsp;</span>
156
156
  <span class="cline-any cline-neutral">&nbsp;</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">7x</span>
158
+ <span class="cline-any cline-yes">17x</span>
159
159
  <span class="cline-any cline-no">&nbsp;</span>
160
160
  <span class="cline-any cline-no">&nbsp;</span>
161
161
  <span class="cline-any cline-no">&nbsp;</span>
@@ -164,7 +164,7 @@
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">7x</span>
167
+ <span class="cline-any cline-yes">17x</span>
168
168
  <span class="cline-any cline-no">&nbsp;</span>
169
169
  <span class="cline-any cline-no">&nbsp;</span>
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,7 +238,7 @@ exports.destroy = <span class="fstat-no" title="function not covered" >as</span>
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
241
+ at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
242
242
  </div>
243
243
  <script src="../../../../prettify.js"></script>
244
244
  <script>
@@ -85,9 +85,9 @@
85
85
  <a name='L20'></a><a href='#L20'>20</a>
86
86
  <a name='L21'></a><a href='#L21'>21</a>
87
87
  <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">7x</span>
88
+ <span class="cline-any cline-yes">17x</span>
89
89
  <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-yes">7x</span>
90
+ <span class="cline-any cline-yes">17x</span>
91
91
  <span class="cline-any cline-yes">3x</span>
92
92
  <span class="cline-any cline-yes">3x</span>
93
93
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,7 +100,7 @@
100
100
  <span class="cline-any cline-yes">3x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">7x</span>
103
+ <span class="cline-any cline-yes">17x</span>
104
104
  <span class="cline-any cline-yes">2x</span>
105
105
  <span class="cline-any cline-yes">2x</span>
106
106
  <span class="cline-any cline-yes">2x</span>
@@ -133,7 +133,7 @@ export const destroy = async (ctx: any) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
136
+ at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  <script src="../../../../prettify.js"></script>
139
139
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/system/environment.js</title>
6
+ <title>Code coverage report for src/api/controllers/system/environment.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/system</a> environment.js</h1>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/system</a> environment.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">66.66% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/3</span>
28
+ <span class='fraction'>5/5</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>2/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/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">66.66% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/3</span>
49
+ <span class='fraction'>3/3</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -75,10 +75,12 @@
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
80
+ <span class="cline-any cline-yes">17x</span>
79
81
  <span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-yes">7x</span>
81
- <span class="cline-any cline-no">&nbsp;</span>
82
+ <span class="cline-any cline-yes">17x</span>
83
+ <span class="cline-any cline-yes">1x</span>
82
84
  <span class="cline-any cline-neutral">&nbsp;</span>
83
85
  <span class="cline-any cline-neutral">&nbsp;</span>
84
86
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -87,10 +89,11 @@
87
89
  <span class="cline-any cline-neutral">&nbsp;</span>
88
90
  <span class="cline-any cline-neutral">&nbsp;</span>
89
91
  <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../../../environment")
92
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BBContext } from "@budibase/types"
93
+ import env from "../../../environment"
91
94
  &nbsp;
92
- exports.fetch = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
93
- <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
95
+ export const fetch = async (ctx: BBContext) =&gt; {
96
+ ctx.body = {
94
97
  multiTenancy: !!env.MULTI_TENANCY,
95
98
  cloud: !env.SELF_HOSTED,
96
99
  accountPortalUrl: env.ACCOUNT_PORTAL_URL,
@@ -106,7 +109,7 @@ exports.fetch = <span class="fstat-no" title="function not covered" >as</span>yn
106
109
  <div class='footer quiet pad2 space-top1 center small'>
107
110
  Code coverage generated by
108
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
112
+ at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
110
113
  </div>
111
114
  <script src="../../../../prettify.js"></script>
112
115
  <script>