@budibase/worker 2.2.12-alpha.4 → 2.2.12-alpha.41

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 (140) hide show
  1. package/coverage/clover.xml +412 -467
  2. package/coverage/coverage-final.json +81 -81
  3. package/coverage/lcov-report/index.html +124 -124
  4. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +33 -33
  5. package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +20 -20
  6. package/coverage/lcov-report/src/api/controllers/global/email.ts.html +1 -1
  7. package/coverage/lcov-report/src/api/controllers/global/index.html +49 -49
  8. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +10 -10
  9. package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +5 -5
  10. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +5 -5
  12. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +17 -17
  13. package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +4 -4
  14. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +2 -2
  15. package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +2 -2
  16. package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
  17. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +2 -2
  18. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/system/status.ts.html +2 -2
  20. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +3 -3
  21. package/coverage/lcov-report/src/api/index.html +1 -1
  22. package/coverage/lcov-report/src/api/index.ts.html +4 -4
  23. package/coverage/lcov-report/src/api/routes/global/auth.ts.html +4 -4
  24. package/coverage/lcov-report/src/api/routes/global/configs.ts.html +10 -10
  25. package/coverage/lcov-report/src/api/routes/global/email.ts.html +4 -4
  26. package/coverage/lcov-report/src/api/routes/global/index.html +21 -21
  27. package/coverage/lcov-report/src/api/routes/global/license.ts.html +3 -3
  28. package/coverage/lcov-report/src/api/routes/global/roles.ts.html +4 -4
  29. package/coverage/lcov-report/src/api/routes/global/self.ts.html +4 -4
  30. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +4 -4
  31. package/coverage/lcov-report/src/api/routes/global/users.ts.html +4 -4
  32. package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +4 -4
  33. package/coverage/lcov-report/src/api/routes/index.html +5 -5
  34. package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
  35. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +4 -4
  36. package/coverage/lcov-report/src/api/routes/system/environment.ts.html +4 -4
  37. package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
  38. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +4 -4
  39. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +4 -4
  40. package/coverage/lcov-report/src/api/routes/system/status.ts.html +4 -4
  41. package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +4 -4
  42. package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
  43. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +3 -3
  45. package/coverage/lcov-report/src/constants/index.html +15 -15
  46. package/coverage/lcov-report/src/constants/index.ts.html +43 -43
  47. package/coverage/lcov-report/src/constants/templates/index.html +15 -15
  48. package/coverage/lcov-report/src/constants/templates/index.ts.html +14 -14
  49. package/coverage/lcov-report/src/db/index.html +3 -3
  50. package/coverage/lcov-report/src/db/index.ts.html +4 -4
  51. package/coverage/lcov-report/src/environment.ts.html +19 -19
  52. package/coverage/lcov-report/src/index.html +27 -27
  53. package/coverage/lcov-report/src/index.ts.html +19 -16
  54. package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +2 -2
  55. package/coverage/lcov-report/src/middleware/index.html +1 -1
  56. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +7 -7
  57. package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
  58. package/coverage/lcov-report/src/migrations/index.html +15 -15
  59. package/coverage/lcov-report/src/migrations/index.ts.html +12 -12
  60. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +9 -9
  61. package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
  62. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
  63. package/coverage/lcov-report/src/sdk/index.html +5 -5
  64. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  65. package/coverage/lcov-report/src/sdk/users/events.ts.html +16 -16
  66. package/coverage/lcov-report/src/sdk/users/index.html +29 -29
  67. package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
  68. package/coverage/lcov-report/src/sdk/users/users.ts.html +49 -43
  69. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +26 -26
  70. package/coverage/lcov-report/src/tests/api/accounts.ts.html +2 -2
  71. package/coverage/lcov-report/src/tests/api/auth.ts.html +2 -2
  72. package/coverage/lcov-report/src/tests/api/base.ts.html +3 -3
  73. package/coverage/lcov-report/src/tests/api/configs.ts.html +2 -2
  74. package/coverage/lcov-report/src/tests/api/email.ts.html +2 -2
  75. package/coverage/lcov-report/src/tests/api/environment.ts.html +2 -2
  76. package/coverage/lcov-report/src/tests/api/groups.ts.html +2 -2
  77. package/coverage/lcov-report/src/tests/api/index.html +42 -42
  78. package/coverage/lcov-report/src/tests/api/index.ts.html +2 -2
  79. package/coverage/lcov-report/src/tests/api/license.ts.html +7 -7
  80. package/coverage/lcov-report/src/tests/api/migrations.ts.html +3 -3
  81. package/coverage/lcov-report/src/tests/api/restore.ts.html +3 -3
  82. package/coverage/lcov-report/src/tests/api/roles.ts.html +7 -7
  83. package/coverage/lcov-report/src/tests/api/self.ts.html +2 -2
  84. package/coverage/lcov-report/src/tests/api/status.ts.html +2 -2
  85. package/coverage/lcov-report/src/tests/api/templates.ts.html +10 -10
  86. package/coverage/lcov-report/src/tests/api/tenants.ts.html +6 -6
  87. package/coverage/lcov-report/src/tests/api/users.ts.html +9 -9
  88. package/coverage/lcov-report/src/tests/controllers.ts.html +11 -11
  89. package/coverage/lcov-report/src/tests/index.html +34 -34
  90. package/coverage/lcov-report/src/tests/index.ts.html +15 -51
  91. package/coverage/lcov-report/src/tests/mocks/email.ts.html +2 -2
  92. package/coverage/lcov-report/src/tests/mocks/index.html +5 -5
  93. package/coverage/lcov-report/src/tests/mocks/index.ts.html +5 -5
  94. package/coverage/lcov-report/src/tests/structures/configs.ts.html +7 -7
  95. package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
  96. package/coverage/lcov-report/src/tests/structures/index.html +15 -15
  97. package/coverage/lcov-report/src/tests/structures/index.ts.html +10 -10
  98. package/coverage/lcov-report/src/tests/structures/users.ts.html +8 -8
  99. package/coverage/lcov-report/src/utilities/appService.ts.html +38 -11
  100. package/coverage/lcov-report/src/utilities/email.ts.html +17 -17
  101. package/coverage/lcov-report/src/utilities/fileSystem.ts.html +2 -2
  102. package/coverage/lcov-report/src/utilities/index.html +27 -27
  103. package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
  104. package/coverage/lcov-report/src/utilities/redis.ts.html +14 -14
  105. package/coverage/lcov-report/src/utilities/templates.ts.html +3 -3
  106. package/coverage/lcov-report/src/utilities/users.ts.html +2 -2
  107. package/coverage/lcov.info +1524 -1561
  108. package/jest.config.ts +5 -2
  109. package/package.json +8 -6
  110. package/src/api/controllers/global/auth.ts +1 -1
  111. package/src/api/routes/global/auth.ts +1 -1
  112. package/src/api/routes/global/configs.ts +7 -7
  113. package/src/api/routes/global/email.ts +1 -1
  114. package/src/api/routes/global/roles.ts +1 -1
  115. package/src/api/routes/global/self.ts +1 -1
  116. package/src/api/routes/global/templates.ts +1 -1
  117. package/src/api/routes/global/tests/templates.spec.ts +0 -8
  118. package/src/api/routes/global/users.ts +1 -1
  119. package/src/api/routes/global/workspaces.ts +1 -1
  120. package/src/api/routes/system/accounts.ts +1 -1
  121. package/src/api/routes/system/environment.ts +1 -1
  122. package/src/api/routes/system/migrations.ts +1 -1
  123. package/src/api/routes/system/restore.ts +1 -1
  124. package/src/api/routes/system/status.ts +1 -1
  125. package/src/api/routes/system/tenants.ts +1 -1
  126. package/src/api/routes/system/tests/environment.spec.ts +1 -1
  127. package/src/db/index.ts +1 -1
  128. package/src/environment.ts +1 -1
  129. package/src/index.ts +4 -3
  130. package/src/middleware/cloudRestricted.ts +1 -1
  131. package/src/sdk/users/users.ts +5 -3
  132. package/src/tests/TestConfiguration.ts +2 -2
  133. package/src/tests/api/users.ts +1 -1
  134. package/src/tests/index.ts +6 -18
  135. package/src/tests/jestEnv.ts +11 -0
  136. package/src/tests/jestSetup.ts +0 -14
  137. package/src/tests/mocks/index.ts +1 -1
  138. package/src/tests/structures/index.ts +4 -4
  139. package/src/utilities/appService.ts +12 -3
  140. package/tsconfig.json +2 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.9% </span>
26
+ <span class="strong">88.85% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>340/374</span>
28
+ <span class='fraction'>311/350</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">85.12% </span>
33
+ <span class="strong">83.18% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>103/121</span>
35
+ <span class='fraction'>94/113</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.3% </span>
40
+ <span class="strong">85.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>72/78</span>
42
+ <span class='fraction'>59/69</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.66% </span>
47
+ <span class="strong">90.25% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>301/332</span>
49
+ <span class='fraction'>287/318</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="events.ts"><a href="events.ts.html">events.ts</a></td>
83
- <td data-value="98.7" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
83
+ <td data-value="95.83" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
85
85
  </td>
86
- <td data-value="98.7" class="pct high">98.7%</td>
87
- <td data-value="77" class="abs high">76/77</td>
88
- <td data-value="97.29" class="pct high">97.29%</td>
89
- <td data-value="37" class="abs high">36/37</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="18" class="abs high">18/18</td>
92
- <td data-value="98.55" class="pct high">98.55%</td>
93
- <td data-value="69" class="abs high">68/69</td>
86
+ <td data-value="95.83" class="pct high">95.83%</td>
87
+ <td data-value="72" class="abs high">69/72</td>
88
+ <td data-value="96.96" class="pct high">96.96%</td>
89
+ <td data-value="33" class="abs high">32/33</td>
90
+ <td data-value="88.23" class="pct high">88.23%</td>
91
+ <td data-value="17" class="abs high">15/17</td>
92
+ <td data-value="98.48" class="pct high">98.48%</td>
93
+ <td data-value="66" class="abs high">65/66</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file high" data-value="users.ts"><a href="users.ts.html">users.ts</a></td>
113
- <td data-value="88.85" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
113
+ <td data-value="87" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
115
115
  </td>
116
- <td data-value="88.85" class="pct high">88.85%</td>
117
- <td data-value="296" class="abs high">263/296</td>
118
- <td data-value="79.76" class="pct medium">79.76%</td>
119
- <td data-value="84" class="abs medium">67/84</td>
120
- <td data-value="90" class="pct high">90%</td>
121
- <td data-value="60" class="abs high">54/60</td>
122
- <td data-value="88.54" class="pct high">88.54%</td>
123
- <td data-value="262" class="abs high">232/262</td>
116
+ <td data-value="87" class="pct high">87%</td>
117
+ <td data-value="277" class="abs high">241/277</td>
118
+ <td data-value="77.5" class="pct medium">77.5%</td>
119
+ <td data-value="80" class="abs medium">62/80</td>
120
+ <td data-value="84.61" class="pct high">84.61%</td>
121
+ <td data-value="52" class="abs high">44/52</td>
122
+ <td data-value="88.04" class="pct high">88.04%</td>
123
+ <td data-value="251" class="abs high">221/251</td>
124
124
  </tr>
125
125
 
126
126
  </tbody>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Tue Jan 10 2023 14:51:32 GMT+0000 (Coordinated Universal Time)
134
+ at Fri Jan 27 2023 09:42:49 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../../../prettify.js"></script>
137
137
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at Tue Jan 10 2023 14:51:32 GMT+0000 (Coordinated Universal Time)
76
+ at Fri Jan 27 2023 09:42:49 GMT+0000 (Coordinated Universal Time)
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">88.85% </span>
26
+ <span class="strong">87% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>263/296</span>
28
+ <span class='fraction'>241/277</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">79.76% </span>
33
+ <span class="strong">77.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>67/84</span>
35
+ <span class='fraction'>62/80</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90% </span>
40
+ <span class="strong">84.61% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>54/60</span>
42
+ <span class='fraction'>44/52</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.54% </span>
47
+ <span class="strong">88.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>232/262</span>
49
+ <span class='fraction'>221/251</span>
50
50
  </div>
51
51
 
52
52
 
@@ -699,8 +699,9 @@
699
699
  <a name='L634'></a><a href='#L634'>634</a>
700
700
  <a name='L635'></a><a href='#L635'>635</a>
701
701
  <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
703
- <span class="cline-any cline-yes">18x</span>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
704
705
  <span class="cline-any cline-yes">18x</span>
705
706
  <span class="cline-any cline-yes">18x</span>
706
707
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -733,6 +734,8 @@
733
734
  <span class="cline-any cline-neutral">&nbsp;</span>
734
735
  <span class="cline-any cline-neutral">&nbsp;</span>
735
736
  <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-yes">18x</span>
736
739
  <span class="cline-any cline-yes">18x</span>
737
740
  <span class="cline-any cline-yes">18x</span>
738
741
  <span class="cline-any cline-yes">18x</span>
@@ -761,7 +764,7 @@
761
764
  <span class="cline-any cline-neutral">&nbsp;</span>
762
765
  <span class="cline-any cline-neutral">&nbsp;</span>
763
766
  <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-no">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
768
  <span class="cline-any cline-no">&nbsp;</span>
766
769
  <span class="cline-any cline-neutral">&nbsp;</span>
767
770
  <span class="cline-any cline-no">&nbsp;</span>
@@ -820,7 +823,7 @@
820
823
  <span class="cline-any cline-neutral">&nbsp;</span>
821
824
  <span class="cline-any cline-neutral">&nbsp;</span>
822
825
  <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-yes">95x</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
827
  <span class="cline-any cline-yes">95x</span>
825
828
  <span class="cline-any cline-yes">95x</span>
826
829
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -858,25 +861,25 @@
858
861
  <span class="cline-any cline-neutral">&nbsp;</span>
859
862
  <span class="cline-any cline-yes">18x</span>
860
863
  <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-yes">91x</span>
862
864
  <span class="cline-any cline-neutral">&nbsp;</span>
863
865
  <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-yes">91x</span>
865
866
  <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-yes">90x</span>
866
868
  <span class="cline-any cline-neutral">&nbsp;</span>
867
869
  <span class="cline-any cline-neutral">&nbsp;</span>
868
870
  <span class="cline-any cline-neutral">&nbsp;</span>
869
871
  <span class="cline-any cline-neutral">&nbsp;</span>
870
872
  <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-yes">91x</span>
872
873
  <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-yes">90x</span>
873
875
  <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-yes">91x</span>
875
876
  <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-yes">91x</span>
877
- <span class="cline-any cline-yes">91x</span>
878
- <span class="cline-any cline-yes">91x</span>
879
- <span class="cline-any cline-yes">1x</span>
877
+ <span class="cline-any cline-yes">18x</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-yes">90x</span>
880
+ <span class="cline-any cline-yes">90x</span>
881
+ <span class="cline-any cline-yes">90x</span>
882
+ <span class="cline-any cline-no">&nbsp;</span>
880
883
  <span class="cline-any cline-neutral">&nbsp;</span>
881
884
  <span class="cline-any cline-neutral">&nbsp;</span>
882
885
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -889,10 +892,10 @@
889
892
  <span class="cline-any cline-neutral">&nbsp;</span>
890
893
  <span class="cline-any cline-neutral">&nbsp;</span>
891
894
  <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-yes">18x</span>
895
+ <span class="cline-any cline-yes">96x</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
897
  <span class="cline-any cline-neutral">&nbsp;</span>
894
898
  <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-yes">94x</span>
896
899
  <span class="cline-any cline-neutral">&nbsp;</span>
897
900
  <span class="cline-any cline-yes">94x</span>
898
901
  <span class="cline-any cline-yes">87x</span>
@@ -931,11 +934,11 @@
931
934
  <span class="cline-any cline-neutral">&nbsp;</span>
932
935
  <span class="cline-any cline-yes">82x</span>
933
936
  <span class="cline-any cline-yes">82x</span>
934
- <span class="cline-any cline-yes">2x</span>
937
+ <span class="cline-any cline-yes">3x</span>
935
938
  <span class="cline-any cline-neutral">&nbsp;</span>
936
939
  <span class="cline-any cline-neutral">&nbsp;</span>
937
940
  <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-yes">91x</span>
941
+ <span class="cline-any cline-yes">90x</span>
939
942
  <span class="cline-any cline-neutral">&nbsp;</span>
940
943
  <span class="cline-any cline-yes">89x</span>
941
944
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -967,6 +970,7 @@
967
970
  <span class="cline-any cline-yes">89x</span>
968
971
  <span class="cline-any cline-yes">89x</span>
969
972
  <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
974
  <span class="cline-any cline-yes">89x</span>
971
975
  <span class="cline-any cline-neutral">&nbsp;</span>
972
976
  <span class="cline-any cline-yes">89x</span>
@@ -989,7 +993,7 @@
989
993
  <span class="cline-any cline-neutral">&nbsp;</span>
990
994
  <span class="cline-any cline-neutral">&nbsp;</span>
991
995
  <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-yes">95x</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
997
  <span class="cline-any cline-yes">95x</span>
994
998
  <span class="cline-any cline-yes">95x</span>
995
999
  <span class="cline-any cline-yes">42x</span>
@@ -1021,7 +1025,7 @@
1021
1025
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
1026
  <span class="cline-any cline-yes">18x</span>
1023
1027
  <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">11x</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
1029
  <span class="cline-any cline-yes">16x</span>
1026
1030
  <span class="cline-any cline-yes">11x</span>
1027
1031
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1040,7 +1044,7 @@
1040
1044
  <span class="cline-any cline-neutral">&nbsp;</span>
1041
1045
  <span class="cline-any cline-yes">18x</span>
1042
1046
  <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-yes">11x</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
1048
  <span class="cline-any cline-yes">16x</span>
1045
1049
  <span class="cline-any cline-yes">11x</span>
1046
1050
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1083,7 +1087,7 @@
1083
1087
  <span class="cline-any cline-yes">18x</span>
1084
1088
  <span class="cline-any cline-neutral">&nbsp;</span>
1085
1089
  <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">6x</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
1091
  <span class="cline-any cline-yes">6x</span>
1088
1092
  <span class="cline-any cline-neutral">&nbsp;</span>
1089
1093
  <span class="cline-any cline-yes">6x</span>
@@ -1164,7 +1168,7 @@
1164
1168
  <span class="cline-any cline-neutral">&nbsp;</span>
1165
1169
  <span class="cline-any cline-yes">18x</span>
1166
1170
  <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-yes">2x</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1168
1172
  <span class="cline-any cline-yes">2x</span>
1169
1173
  <span class="cline-any cline-yes">2x</span>
1170
1174
  <span class="cline-any cline-yes">2x</span>
@@ -1181,7 +1185,7 @@
1181
1185
  <span class="cline-any cline-neutral">&nbsp;</span>
1182
1186
  <span class="cline-any cline-yes">18x</span>
1183
1187
  <span class="cline-any cline-neutral">&nbsp;</span>
1184
- <span class="cline-any cline-yes">2x</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
1189
  <span class="cline-any cline-yes">2x</span>
1186
1190
  <span class="cline-any cline-neutral">&nbsp;</span>
1187
1191
  <span class="cline-any cline-yes">2x</span>
@@ -1288,7 +1292,7 @@
1288
1292
  <span class="cline-any cline-neutral">&nbsp;</span>
1289
1293
  <span class="cline-any cline-yes">18x</span>
1290
1294
  <span class="cline-any cline-neutral">&nbsp;</span>
1291
- <span class="cline-any cline-yes">5x</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1292
1296
  <span class="cline-any cline-yes">5x</span>
1293
1297
  <span class="cline-any cline-neutral">&nbsp;</span>
1294
1298
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1368,6 +1372,7 @@ import {
1368
1372
  SearchUsersRequest,
1369
1373
  User,
1370
1374
  ThirdPartyUser,
1375
+ isUser,
1371
1376
  } from "@budibase/types"
1372
1377
  import { sendEmail } from "../../utilities/email"
1373
1378
  import { EmailTemplatePurpose } from "../../constants"
@@ -1385,19 +1390,19 @@ export const allUsers = async () =&gt; {
1385
1390
  return response.rows.map((row: any) =&gt; row.doc)
1386
1391
  }
1387
1392
  &nbsp;
1388
- export const countUsersByApp = <span class="fstat-no" title="function not covered" >async (a</span>ppId: string) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
1393
+ export const <span class="cstat-no" title="statement not covered" >countUsersByApp<span class="fstat-no" title="function not covered" > </span>= <span class="fstat-no" title="function not covered" >a</span>sync (a</span>ppId: string) =&gt; {
1389
1394
  let response: any = <span class="cstat-no" title="statement not covered" >await usersCore.searchGlobalUsersByApp(appId, {})</span>
1390
1395
  <span class="cstat-no" title="statement not covered" > return {</span>
1391
1396
  userCount: response.length,
1392
1397
  }
1393
1398
  }
1394
1399
  &nbsp;
1395
- export const paginatedUsers = <span class="fstat-no" title="function not covered" >async ({</span>
1400
+ export const <span class="cstat-no" title="statement not covered" >paginatedUsers<span class="fstat-no" title="function not covered" > </span>= <span class="fstat-no" title="function not covered" >a</span>sync ({</span>
1396
1401
  page,
1397
1402
  email,
1398
1403
  appId,
1399
1404
  userIds,
1400
- }: SearchUsersRequest = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
1405
+ }: SearchUsersRequest = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
1401
1406
  const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
1402
1407
  // get one extra document, to have the next page
1403
1408
  const opts: any = <span class="cstat-no" title="statement not covered" >{</span>
@@ -1492,7 +1497,7 @@ const buildUser = async (
1492
1497
  }
1493
1498
  &nbsp;
1494
1499
  // lookup, could be email or userId, either will return a doc
1495
- export const getPlatformUser = async (
1500
+ export const <span class="cstat-no" title="statement not covered" >getPlatformUser<span class="fstat-no" title="function not covered" > </span>= a</span>sync (
1496
1501
  identifier: string
1497
1502
  ): Promise&lt;PlatformUser | null&gt; =&gt; {
1498
1503
  // use the view here and allow to find anyone regardless of casing
@@ -1511,8 +1516,8 @@ const validateUniqueUser = async (email: string, tenantId: string) =&gt; {
1511
1516
  // check budibase users in other tenants
1512
1517
  if (env.MULTI_TENANCY) {
1513
1518
  const tenantUser = await getPlatformUser(email)
1514
- if (tenantUser != null &amp;&amp; tenantUser.tenantId !== tenantId) {
1515
- throw `Unavailable`
1519
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (tenantUser != null &amp;&amp; tenantUser.tenantId !== tenantId) {
1520
+ <span class="cstat-no" title="statement not covered" > throw `Unavailable`</span>
1516
1521
  }
1517
1522
  }
1518
1523
  &nbsp;
@@ -1541,7 +1546,7 @@ export const save = async (
1541
1546
  &nbsp;
1542
1547
  let { email, _id, userGroups = [] } = user
1543
1548
  &nbsp;
1544
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!email &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!_id)</span> {
1549
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!email &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!_id) {</span>
1545
1550
  <span class="cstat-no" title="statement not covered" > throw new Error("_id or email is required")</span>
1546
1551
  }
1547
1552
  &nbsp;
@@ -1602,8 +1607,9 @@ export const save = async (
1602
1607
  await eventHelpers.handleSaveEvents(builtUser, dbUser)
1603
1608
  await addTenant(tenantId, _id, email)
1604
1609
  await cache.user.invalidateUser(response.id)
1610
+ &nbsp;
1605
1611
  // let server know to sync user
1606
- await apps.syncUserInApps(_id)
1612
+ await apps.syncUserInApps(_id, dbUser)
1607
1613
  &nbsp;
1608
1614
  await Promise.all(groupPromises)
1609
1615
  &nbsp;
@@ -1621,7 +1627,7 @@ export const save = async (
1621
1627
  }
1622
1628
  }
1623
1629
  &nbsp;
1624
- export const addTenant = async (
1630
+ export const <span class="cstat-no" title="statement not covered" >addTenant<span class="fstat-no" title="function not covered" > </span>= a</span>sync (
1625
1631
  tenantId: string,
1626
1632
  _id: string,
1627
1633
  email: string
@@ -1909,7 +1915,7 @@ export const destroy = async (id: string, currentUser: any) =&gt; {
1909
1915
  await cache.user.invalidateUser(userId)
1910
1916
  await sessions.invalidateSessions(userId, { reason: "deletion" })
1911
1917
  // let server know to sync user
1912
- await apps.syncUserInApps(userId)
1918
+ await apps.syncUserInApps(userId, dbUser)
1913
1919
  }
1914
1920
  &nbsp;
1915
1921
  const bulkDeleteProcessing = async (dbUser: User) =&gt; {
@@ -1919,7 +1925,7 @@ const bulkDeleteProcessing = async (dbUser: User) =&gt; {
1919
1925
  await cache.user.invalidateUser(userId)
1920
1926
  await sessions.invalidateSessions(userId, { reason: "bulk-deletion" })
1921
1927
  // let server know to sync user
1922
- await apps.syncUserInApps(userId)
1928
+ await apps.syncUserInApps(userId, dbUser)
1923
1929
  }
1924
1930
  &nbsp;
1925
1931
  export const invite = async (
@@ -1978,7 +1984,7 @@ export const invite = async (
1978
1984
  <div class='footer quiet pad2 space-top1 center small'>
1979
1985
  Code coverage generated by
1980
1986
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1981
- at Tue Jan 10 2023 14:51:32 GMT+0000 (Coordinated Universal Time)
1987
+ at Fri Jan 27 2023 09:42:49 GMT+0000 (Coordinated Universal Time)
1982
1988
  </div>
1983
1989
  <script src="../../../prettify.js"></script>
1984
1990
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">92.24% </span>
26
+ <span class="strong">90.35% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>107/116</span>
28
+ <span class='fraction'>103/114</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">62.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/16</span>
35
+ <span class='fraction'>10/16</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">86.84% </span>
40
+ <span class="strong">86.48% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>33/38</span>
42
+ <span class='fraction'>32/37</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">92.1% </span>
47
+ <span class="strong">90.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>105/114</span>
49
+ <span class='fraction'>100/111</span>
50
50
  </div>
51
51
 
52
52
 
@@ -408,7 +408,6 @@
408
408
  <span class="cline-any cline-yes">18x</span>
409
409
  <span class="cline-any cline-yes">18x</span>
410
410
  <span class="cline-any cline-yes">18x</span>
411
- <span class="cline-any cline-yes">18x</span>
412
411
  <span class="cline-any cline-neutral">&nbsp;</span>
413
412
  <span class="cline-any cline-neutral">&nbsp;</span>
414
413
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -417,11 +416,10 @@
417
416
  <span class="cline-any cline-neutral">&nbsp;</span>
418
417
  <span class="cline-any cline-neutral">&nbsp;</span>
419
418
  <span class="cline-any cline-yes">18x</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
419
  <span class="cline-any cline-yes">18x</span>
422
420
  <span class="cline-any cline-neutral">&nbsp;</span>
423
421
  <span class="cline-any cline-yes">18x</span>
424
- <span class="cline-any cline-yes">18x</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
423
  <span class="cline-any cline-yes">18x</span>
426
424
  <span class="cline-any cline-neutral">&nbsp;</span>
427
425
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -438,6 +436,8 @@
438
436
  <span class="cline-any cline-neutral">&nbsp;</span>
439
437
  <span class="cline-any cline-neutral">&nbsp;</span>
440
438
  <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
441
  <span class="cline-any cline-yes">18x</span>
442
442
  <span class="cline-any cline-yes">18x</span>
443
443
  <span class="cline-any cline-no">&nbsp;</span>
@@ -445,7 +445,7 @@
445
445
  <span class="cline-any cline-neutral">&nbsp;</span>
446
446
  <span class="cline-any cline-neutral">&nbsp;</span>
447
447
  <span class="cline-any cline-yes">18x</span>
448
- <span class="cline-any cline-yes">18x</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
449
  <span class="cline-any cline-yes">18x</span>
450
450
  <span class="cline-any cline-neutral">&nbsp;</span>
451
451
  <span class="cline-any cline-yes">18x</span>
@@ -547,7 +547,7 @@
547
547
  <span class="cline-any cline-yes">475x</span>
548
548
  <span class="cline-any cline-yes">475x</span>
549
549
  <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-yes">405x</span>
550
+ <span class="cline-any cline-yes">407x</span>
551
551
  <span class="cline-any cline-neutral">&nbsp;</span>
552
552
  <span class="cline-any cline-neutral">&nbsp;</span>
553
553
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -597,9 +597,9 @@
597
597
  <span class="cline-any cline-neutral">&nbsp;</span>
598
598
  <span class="cline-any cline-yes">78x</span>
599
599
  <span class="cline-any cline-yes">78x</span>
600
- <span class="cline-any cline-yes">76x</span>
601
- <span class="cline-any cline-yes">2x</span>
602
- <span class="cline-any cline-yes">2x</span>
600
+ <span class="cline-any cline-yes">78x</span>
601
+ <span class="cline-any cline-no">&nbsp;</span>
602
+ <span class="cline-any cline-no">&nbsp;</span>
603
603
  <span class="cline-any cline-neutral">&nbsp;</span>
604
604
  <span class="cline-any cline-no">&nbsp;</span>
605
605
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -776,7 +776,7 @@ class TestConfiguration {
776
776
  &nbsp;
777
777
  if (opts.openServer) {
778
778
  env.PORT = "0" // random port
779
- this.server = require("../index")
779
+ this.server = require("../index").default
780
780
  // we need the request for logging in, involves cookies, hard to fake
781
781
  this.request = supertest(this.server)
782
782
  }
@@ -784,7 +784,7 @@ class TestConfiguration {
784
784
  this.api = new API(this)
785
785
  }
786
786
  &nbsp;
787
- <span class="fstat-no" title="function not covered" > getRequest(</span>) {
787
+ <span class="fstat-no" title="function not covered" > getRequest() {</span>
788
788
  <span class="cstat-no" title="statement not covered" > return this.request</span>
789
789
  }
790
790
  &nbsp;
@@ -815,7 +815,7 @@ class TestConfiguration {
815
815
  async _req(config: any, params: any, controlFunc: any) {
816
816
  const request: any = {}
817
817
  // fake cookies, we don't need them
818
- request.cookies = { set: <span class="fstat-no" title="function not covered" >() =</span>&gt; {}, get: <span class="fstat-no" title="function not covered" >() =</span>&gt; {} }
818
+ request.cookies = { set: <span class="fstat-no" title="function not covered" >() =&gt; {</span>}, get: <span class="fstat-no" title="function not covered" >() =&gt; {</span>} }
819
819
  request.config = { jwtSecret: env.JWT_SECRET }
820
820
  request.user = { tenantId: this.getTenantId() }
821
821
  request.query = {}
@@ -928,9 +928,9 @@ class TestConfiguration {
928
928
  const tenantId = this.getTenantId()
929
929
  if (tenantId === TENANT_ID) {
930
930
  return this.authHeaders(this.defaultUser!)
931
- } else if (tenantId === TENANT_1) {
932
- return this.authHeaders(this.tenant1User!)
933
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
931
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (tenantId === TENANT_1) {</span>
932
+ <span class="cstat-no" title="statement not covered" > return this.authHeaders(this.tenant1User!)</span>
933
+ } else {
934
934
  <span class="cstat-no" title="statement not covered" > throw new Error("could not determine auth headers to use")</span>
935
935
  }
936
936
  }
@@ -1015,14 +1015,14 @@ class TestConfiguration {
1015
1015
  &nbsp;
1016
1016
  // CONFIGS - GOOGLE
1017
1017
  &nbsp;
1018
- async <span class="fstat-no" title="function not covered" >saveGoogleConfig(</span>) {
1018
+ <span class="fstat-no" title="function not covered" > async s</span>aveGoogleConfig() {
1019
1019
  <span class="cstat-no" title="statement not covered" > await this.deleteConfig(Config.GOOGLE)</span>
1020
1020
  <span class="cstat-no" title="statement not covered" > await this._req(structures.configs.google(), null, controllers.config.save)</span>
1021
1021
  }
1022
1022
  &nbsp;
1023
1023
  // CONFIGS - OIDC
1024
1024
  &nbsp;
1025
- <span class="fstat-no" title="function not covered" > getOIDConfigCookie(</span>configId: string) {
1025
+ <span class="fstat-no" title="function not covered" > getOIDConfigCookie(c</span>onfigId: string) {
1026
1026
  const token = <span class="cstat-no" title="statement not covered" >auth.jwt.sign(configId, env.JWT_SECRET)</span>
1027
1027
  <span class="cstat-no" title="statement not covered" > return this.cookieHeader([[`${constants.Cookie.OIDC_CONFIG}=${token}`]])</span>
1028
1028
  }
@@ -1052,7 +1052,7 @@ class TestConfiguration {
1052
1052
  }
1053
1053
  }
1054
1054
  &nbsp;
1055
- export = TestConfiguration
1055
+ export default TestConfiguration
1056
1056
  &nbsp;</pre></td></tr></table></pre>
1057
1057
 
1058
1058
  <div class='push'></div><!-- for sticky footer -->
@@ -1060,7 +1060,7 @@ export = TestConfiguration
1060
1060
  <div class='footer quiet pad2 space-top1 center small'>
1061
1061
  Code coverage generated by
1062
1062
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1063
- at Tue Jan 10 2023 14:51:32 GMT+0000 (Coordinated Universal Time)
1063
+ at Fri Jan 27 2023 09:42:49 GMT+0000 (Coordinated Universal Time)
1064
1064
  </div>
1065
1065
  <script src="../../prettify.js"></script>
1066
1066
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/9</span>
28
+ <span class='fraction'>8/8</span>
29
29
  </div>
30
30
 
31
31
 
@@ -145,7 +145,7 @@ export class AccountAPI extends TestAPI {
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at Tue Jan 10 2023 14:51:32 GMT+0000 (Coordinated Universal Time)
148
+ at Fri Jan 27 2023 09:42:49 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  <script src="../../../prettify.js"></script>
151
151
  <script>