@budibase/worker 2.2.12-alpha.5 → 2.2.12-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.
- package/coverage/clover.xml +181 -239
- package/coverage/coverage-final.json +81 -81
- package/coverage/lcov-report/index.html +124 -124
- package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +33 -33
- package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/global/email.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/global/index.html +49 -49
- package/coverage/lcov-report/src/api/controllers/global/license.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/self.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/users.ts.html +17 -17
- package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
- package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/system/status.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +3 -3
- package/coverage/lcov-report/src/api/index.html +1 -1
- package/coverage/lcov-report/src/api/index.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/auth.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/configs.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/email.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/index.html +21 -21
- package/coverage/lcov-report/src/api/routes/global/license.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/global/roles.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/self.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/templates.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/users.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/index.html +5 -5
- package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/environment.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
- package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/restore.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/status.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
- package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/validation/users.ts.html +3 -3
- package/coverage/lcov-report/src/constants/index.html +15 -15
- package/coverage/lcov-report/src/constants/index.ts.html +43 -43
- package/coverage/lcov-report/src/constants/templates/index.html +15 -15
- package/coverage/lcov-report/src/constants/templates/index.ts.html +14 -14
- package/coverage/lcov-report/src/db/index.html +3 -3
- package/coverage/lcov-report/src/db/index.ts.html +4 -4
- package/coverage/lcov-report/src/environment.ts.html +19 -19
- package/coverage/lcov-report/src/index.html +25 -25
- package/coverage/lcov-report/src/index.ts.html +13 -13
- package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +2 -2
- package/coverage/lcov-report/src/middleware/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
- package/coverage/lcov-report/src/migrations/index.html +15 -15
- package/coverage/lcov-report/src/migrations/index.ts.html +12 -12
- package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +9 -9
- package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
- package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/index.html +5 -5
- package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/users/events.ts.html +16 -16
- package/coverage/lcov-report/src/sdk/users/index.html +29 -29
- package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/users/users.ts.html +39 -39
- package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +26 -26
- package/coverage/lcov-report/src/tests/api/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/auth.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/base.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/configs.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/environment.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/index.html +42 -42
- package/coverage/lcov-report/src/tests/api/index.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/license.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/migrations.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/restore.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/roles.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/self.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/status.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/templates.ts.html +10 -10
- package/coverage/lcov-report/src/tests/api/tenants.ts.html +6 -6
- package/coverage/lcov-report/src/tests/api/users.ts.html +9 -9
- package/coverage/lcov-report/src/tests/controllers.ts.html +11 -11
- package/coverage/lcov-report/src/tests/index.html +34 -34
- package/coverage/lcov-report/src/tests/index.ts.html +15 -51
- package/coverage/lcov-report/src/tests/mocks/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/mocks/index.html +5 -5
- package/coverage/lcov-report/src/tests/mocks/index.ts.html +5 -5
- package/coverage/lcov-report/src/tests/structures/configs.ts.html +7 -7
- package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/structures/index.html +15 -15
- package/coverage/lcov-report/src/tests/structures/index.ts.html +10 -10
- package/coverage/lcov-report/src/tests/structures/users.ts.html +8 -8
- package/coverage/lcov-report/src/utilities/appService.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/email.ts.html +17 -17
- package/coverage/lcov-report/src/utilities/fileSystem.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/index.html +21 -21
- package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/redis.ts.html +14 -14
- package/coverage/lcov-report/src/utilities/templates.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/users.ts.html +2 -2
- package/coverage/lcov.info +1257 -1297
- package/jest.config.ts +5 -2
- package/package.json +8 -6
- package/src/api/controllers/global/auth.ts +1 -1
- package/src/api/routes/global/auth.ts +1 -1
- package/src/api/routes/global/configs.ts +1 -1
- package/src/api/routes/global/email.ts +1 -1
- package/src/api/routes/global/roles.ts +1 -1
- package/src/api/routes/global/self.ts +1 -1
- package/src/api/routes/global/templates.ts +1 -1
- package/src/api/routes/global/tests/templates.spec.ts +0 -8
- package/src/api/routes/global/users.ts +1 -1
- package/src/api/routes/global/workspaces.ts +1 -1
- package/src/api/routes/system/accounts.ts +1 -1
- package/src/api/routes/system/environment.ts +1 -1
- package/src/api/routes/system/migrations.ts +1 -1
- package/src/api/routes/system/restore.ts +1 -1
- package/src/api/routes/system/status.ts +1 -1
- package/src/api/routes/system/tenants.ts +1 -1
- package/src/api/routes/system/tests/environment.spec.ts +1 -1
- package/src/db/index.ts +1 -1
- package/src/environment.ts +1 -1
- package/src/index.ts +3 -3
- package/src/middleware/cloudRestricted.ts +1 -1
- package/src/tests/TestConfiguration.ts +2 -2
- package/src/tests/api/users.ts +1 -1
- package/src/tests/index.ts +6 -18
- package/src/tests/jestEnv.ts +11 -0
- package/src/tests/jestSetup.ts +0 -14
- package/src/tests/mocks/index.ts +1 -1
- package/src/tests/structures/index.ts +4 -4
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">88.85% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">83.18% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">85.5% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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.
|
|
47
|
+
<span class="strong">90.25% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
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="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="98.
|
|
93
|
-
<td data-value="
|
|
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="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
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="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
120
|
-
<td data-value="
|
|
121
|
-
<td data-value="
|
|
122
|
-
<td data-value="88.
|
|
123
|
-
<td data-value="
|
|
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
|
|
134
|
+
at Wed Jan 11 2023 09:49:07 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
|
|
76
|
+
at Wed Jan 11 2023 09:49:07 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">
|
|
26
|
+
<span class="strong">87% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">77.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">84.61% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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.
|
|
47
|
+
<span class="strong">88.04% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>221/251</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -702,7 +702,6 @@
|
|
|
702
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
703
|
<span class="cline-any cline-yes">18x</span>
|
|
704
704
|
<span class="cline-any cline-yes">18x</span>
|
|
705
|
-
<span class="cline-any cline-yes">18x</span>
|
|
706
705
|
<span class="cline-any cline-neutral"> </span>
|
|
707
706
|
<span class="cline-any cline-neutral"> </span>
|
|
708
707
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -736,6 +735,7 @@
|
|
|
736
735
|
<span class="cline-any cline-yes">18x</span>
|
|
737
736
|
<span class="cline-any cline-yes">18x</span>
|
|
738
737
|
<span class="cline-any cline-yes">18x</span>
|
|
738
|
+
<span class="cline-any cline-yes">18x</span>
|
|
739
739
|
<span class="cline-any cline-neutral"> </span>
|
|
740
740
|
<span class="cline-any cline-yes">18x</span>
|
|
741
741
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -761,7 +761,7 @@
|
|
|
761
761
|
<span class="cline-any cline-neutral"> </span>
|
|
762
762
|
<span class="cline-any cline-neutral"> </span>
|
|
763
763
|
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-
|
|
764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
765
765
|
<span class="cline-any cline-no"> </span>
|
|
766
766
|
<span class="cline-any cline-neutral"> </span>
|
|
767
767
|
<span class="cline-any cline-no"> </span>
|
|
@@ -820,7 +820,7 @@
|
|
|
820
820
|
<span class="cline-any cline-neutral"> </span>
|
|
821
821
|
<span class="cline-any cline-neutral"> </span>
|
|
822
822
|
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-
|
|
823
|
+
<span class="cline-any cline-neutral"> </span>
|
|
824
824
|
<span class="cline-any cline-yes">95x</span>
|
|
825
825
|
<span class="cline-any cline-yes">95x</span>
|
|
826
826
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -858,25 +858,25 @@
|
|
|
858
858
|
<span class="cline-any cline-neutral"> </span>
|
|
859
859
|
<span class="cline-any cline-yes">18x</span>
|
|
860
860
|
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-yes">91x</span>
|
|
862
861
|
<span class="cline-any cline-neutral"> </span>
|
|
863
862
|
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-yes">91x</span>
|
|
865
863
|
<span class="cline-any cline-neutral"> </span>
|
|
864
|
+
<span class="cline-any cline-yes">90x</span>
|
|
866
865
|
<span class="cline-any cline-neutral"> </span>
|
|
867
866
|
<span class="cline-any cline-neutral"> </span>
|
|
868
867
|
<span class="cline-any cline-neutral"> </span>
|
|
869
868
|
<span class="cline-any cline-neutral"> </span>
|
|
870
869
|
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-yes">91x</span>
|
|
872
870
|
<span class="cline-any cline-neutral"> </span>
|
|
871
|
+
<span class="cline-any cline-yes">90x</span>
|
|
873
872
|
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-yes">91x</span>
|
|
875
873
|
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-yes">
|
|
877
|
-
<span class="cline-any cline-
|
|
878
|
-
<span class="cline-any cline-yes">
|
|
879
|
-
<span class="cline-any cline-yes">
|
|
874
|
+
<span class="cline-any cline-yes">18x</span>
|
|
875
|
+
<span class="cline-any cline-neutral"> </span>
|
|
876
|
+
<span class="cline-any cline-yes">90x</span>
|
|
877
|
+
<span class="cline-any cline-yes">90x</span>
|
|
878
|
+
<span class="cline-any cline-yes">90x</span>
|
|
879
|
+
<span class="cline-any cline-no"> </span>
|
|
880
880
|
<span class="cline-any cline-neutral"> </span>
|
|
881
881
|
<span class="cline-any cline-neutral"> </span>
|
|
882
882
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -889,10 +889,10 @@
|
|
|
889
889
|
<span class="cline-any cline-neutral"> </span>
|
|
890
890
|
<span class="cline-any cline-neutral"> </span>
|
|
891
891
|
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-yes">
|
|
892
|
+
<span class="cline-any cline-yes">96x</span>
|
|
893
|
+
<span class="cline-any cline-neutral"> </span>
|
|
893
894
|
<span class="cline-any cline-neutral"> </span>
|
|
894
895
|
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-yes">94x</span>
|
|
896
896
|
<span class="cline-any cline-neutral"> </span>
|
|
897
897
|
<span class="cline-any cline-yes">94x</span>
|
|
898
898
|
<span class="cline-any cline-yes">87x</span>
|
|
@@ -931,11 +931,11 @@
|
|
|
931
931
|
<span class="cline-any cline-neutral"> </span>
|
|
932
932
|
<span class="cline-any cline-yes">82x</span>
|
|
933
933
|
<span class="cline-any cline-yes">82x</span>
|
|
934
|
-
<span class="cline-any cline-yes">
|
|
934
|
+
<span class="cline-any cline-yes">3x</span>
|
|
935
935
|
<span class="cline-any cline-neutral"> </span>
|
|
936
936
|
<span class="cline-any cline-neutral"> </span>
|
|
937
937
|
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-yes">
|
|
938
|
+
<span class="cline-any cline-yes">90x</span>
|
|
939
939
|
<span class="cline-any cline-neutral"> </span>
|
|
940
940
|
<span class="cline-any cline-yes">89x</span>
|
|
941
941
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -989,7 +989,7 @@
|
|
|
989
989
|
<span class="cline-any cline-neutral"> </span>
|
|
990
990
|
<span class="cline-any cline-neutral"> </span>
|
|
991
991
|
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-
|
|
992
|
+
<span class="cline-any cline-neutral"> </span>
|
|
993
993
|
<span class="cline-any cline-yes">95x</span>
|
|
994
994
|
<span class="cline-any cline-yes">95x</span>
|
|
995
995
|
<span class="cline-any cline-yes">42x</span>
|
|
@@ -1021,7 +1021,7 @@
|
|
|
1021
1021
|
<span class="cline-any cline-neutral"> </span>
|
|
1022
1022
|
<span class="cline-any cline-yes">18x</span>
|
|
1023
1023
|
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-
|
|
1024
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1025
1025
|
<span class="cline-any cline-yes">16x</span>
|
|
1026
1026
|
<span class="cline-any cline-yes">11x</span>
|
|
1027
1027
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1040,7 +1040,7 @@
|
|
|
1040
1040
|
<span class="cline-any cline-neutral"> </span>
|
|
1041
1041
|
<span class="cline-any cline-yes">18x</span>
|
|
1042
1042
|
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-
|
|
1043
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1044
1044
|
<span class="cline-any cline-yes">16x</span>
|
|
1045
1045
|
<span class="cline-any cline-yes">11x</span>
|
|
1046
1046
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1083,7 +1083,7 @@
|
|
|
1083
1083
|
<span class="cline-any cline-yes">18x</span>
|
|
1084
1084
|
<span class="cline-any cline-neutral"> </span>
|
|
1085
1085
|
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-
|
|
1086
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1087
1087
|
<span class="cline-any cline-yes">6x</span>
|
|
1088
1088
|
<span class="cline-any cline-neutral"> </span>
|
|
1089
1089
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -1164,7 +1164,7 @@
|
|
|
1164
1164
|
<span class="cline-any cline-neutral"> </span>
|
|
1165
1165
|
<span class="cline-any cline-yes">18x</span>
|
|
1166
1166
|
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-
|
|
1167
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1168
1168
|
<span class="cline-any cline-yes">2x</span>
|
|
1169
1169
|
<span class="cline-any cline-yes">2x</span>
|
|
1170
1170
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1181,7 +1181,7 @@
|
|
|
1181
1181
|
<span class="cline-any cline-neutral"> </span>
|
|
1182
1182
|
<span class="cline-any cline-yes">18x</span>
|
|
1183
1183
|
<span class="cline-any cline-neutral"> </span>
|
|
1184
|
-
<span class="cline-any cline-
|
|
1184
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1185
1185
|
<span class="cline-any cline-yes">2x</span>
|
|
1186
1186
|
<span class="cline-any cline-neutral"> </span>
|
|
1187
1187
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1288,7 +1288,7 @@
|
|
|
1288
1288
|
<span class="cline-any cline-neutral"> </span>
|
|
1289
1289
|
<span class="cline-any cline-yes">18x</span>
|
|
1290
1290
|
<span class="cline-any cline-neutral"> </span>
|
|
1291
|
-
<span class="cline-any cline-
|
|
1291
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1292
1292
|
<span class="cline-any cline-yes">5x</span>
|
|
1293
1293
|
<span class="cline-any cline-neutral"> </span>
|
|
1294
1294
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1385,19 +1385,19 @@ export const allUsers = async () => {
|
|
|
1385
1385
|
return response.rows.map((row: any) => row.doc)
|
|
1386
1386
|
}
|
|
1387
1387
|
|
|
1388
|
-
export const
|
|
1388
|
+
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) => {
|
|
1389
1389
|
let response: any = <span class="cstat-no" title="statement not covered" >await usersCore.searchGlobalUsersByApp(appId, {})</span>
|
|
1390
1390
|
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1391
1391
|
userCount: response.length,
|
|
1392
1392
|
}
|
|
1393
1393
|
}
|
|
1394
1394
|
|
|
1395
|
-
export const paginatedUsers = <span class="fstat-no" title="function not covered" >
|
|
1395
|
+
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
1396
|
page,
|
|
1397
1397
|
email,
|
|
1398
1398
|
appId,
|
|
1399
1399
|
userIds,
|
|
1400
|
-
}: SearchUsersRequest = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =>
|
|
1400
|
+
}: SearchUsersRequest = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> => {
|
|
1401
1401
|
const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
|
|
1402
1402
|
// get one extra document, to have the next page
|
|
1403
1403
|
const opts: any = <span class="cstat-no" title="statement not covered" >{</span>
|
|
@@ -1492,7 +1492,7 @@ const buildUser = async (
|
|
|
1492
1492
|
}
|
|
1493
1493
|
|
|
1494
1494
|
// lookup, could be email or userId, either will return a doc
|
|
1495
|
-
export const getPlatformUser =
|
|
1495
|
+
export const <span class="cstat-no" title="statement not covered" >getPlatformUser<span class="fstat-no" title="function not covered" > </span>= a</span>sync (
|
|
1496
1496
|
identifier: string
|
|
1497
1497
|
): Promise<PlatformUser | null> => {
|
|
1498
1498
|
// use the view here and allow to find anyone regardless of casing
|
|
@@ -1511,8 +1511,8 @@ const validateUniqueUser = async (email: string, tenantId: string) => {
|
|
|
1511
1511
|
// check budibase users in other tenants
|
|
1512
1512
|
if (env.MULTI_TENANCY) {
|
|
1513
1513
|
const tenantUser = await getPlatformUser(email)
|
|
1514
|
-
if (tenantUser != null && tenantUser.tenantId !== tenantId) {
|
|
1515
|
-
throw `Unavailable
|
|
1514
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (tenantUser != null && tenantUser.tenantId !== tenantId) {
|
|
1515
|
+
<span class="cstat-no" title="statement not covered" > throw `Unavailable`</span>
|
|
1516
1516
|
}
|
|
1517
1517
|
}
|
|
1518
1518
|
|
|
@@ -1541,7 +1541,7 @@ export const save = async (
|
|
|
1541
1541
|
|
|
1542
1542
|
let { email, _id, userGroups = [] } = user
|
|
1543
1543
|
|
|
1544
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!email && <span class="branch-1 cbranch-no" title="branch not covered" >!_id)</span>
|
|
1544
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!email && <span class="branch-1 cbranch-no" title="branch not covered" >!_id) {</span>
|
|
1545
1545
|
<span class="cstat-no" title="statement not covered" > throw new Error("_id or email is required")</span>
|
|
1546
1546
|
}
|
|
1547
1547
|
|
|
@@ -1621,7 +1621,7 @@ export const save = async (
|
|
|
1621
1621
|
}
|
|
1622
1622
|
}
|
|
1623
1623
|
|
|
1624
|
-
export const addTenant =
|
|
1624
|
+
export const <span class="cstat-no" title="statement not covered" >addTenant<span class="fstat-no" title="function not covered" > </span>= a</span>sync (
|
|
1625
1625
|
tenantId: string,
|
|
1626
1626
|
_id: string,
|
|
1627
1627
|
email: string
|
|
@@ -1978,7 +1978,7 @@ export const invite = async (
|
|
|
1978
1978
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1979
1979
|
Code coverage generated by
|
|
1980
1980
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1981
|
-
at
|
|
1981
|
+
at Wed Jan 11 2023 09:49:07 GMT+0000 (Coordinated Universal Time)
|
|
1982
1982
|
</div>
|
|
1983
1983
|
<script src="../../../prettify.js"></script>
|
|
1984
1984
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">90.35% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">62.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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.
|
|
40
|
+
<span class="strong">86.48% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">90.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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"> </span>
|
|
413
412
|
<span class="cline-any cline-neutral"> </span>
|
|
414
413
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -417,11 +416,10 @@
|
|
|
417
416
|
<span class="cline-any cline-neutral"> </span>
|
|
418
417
|
<span class="cline-any cline-neutral"> </span>
|
|
419
418
|
<span class="cline-any cline-yes">18x</span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
419
|
<span class="cline-any cline-yes">18x</span>
|
|
422
420
|
<span class="cline-any cline-neutral"> </span>
|
|
423
421
|
<span class="cline-any cline-yes">18x</span>
|
|
424
|
-
<span class="cline-any cline-
|
|
422
|
+
<span class="cline-any cline-neutral"> </span>
|
|
425
423
|
<span class="cline-any cline-yes">18x</span>
|
|
426
424
|
<span class="cline-any cline-neutral"> </span>
|
|
427
425
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -438,6 +436,8 @@
|
|
|
438
436
|
<span class="cline-any cline-neutral"> </span>
|
|
439
437
|
<span class="cline-any cline-neutral"> </span>
|
|
440
438
|
<span class="cline-any cline-neutral"> </span>
|
|
439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
|
@@ -445,7 +445,7 @@
|
|
|
445
445
|
<span class="cline-any cline-neutral"> </span>
|
|
446
446
|
<span class="cline-any cline-neutral"> </span>
|
|
447
447
|
<span class="cline-any cline-yes">18x</span>
|
|
448
|
-
<span class="cline-any cline-
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
449
|
<span class="cline-any cline-yes">18x</span>
|
|
450
450
|
<span class="cline-any cline-neutral"> </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"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">
|
|
550
|
+
<span class="cline-any cline-yes">407x</span>
|
|
551
551
|
<span class="cline-any cline-neutral"> </span>
|
|
552
552
|
<span class="cline-any cline-neutral"> </span>
|
|
553
553
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -597,9 +597,9 @@
|
|
|
597
597
|
<span class="cline-any cline-neutral"> </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">
|
|
601
|
-
<span class="cline-any cline-
|
|
602
|
-
<span class="cline-any cline-
|
|
600
|
+
<span class="cline-any cline-yes">78x</span>
|
|
601
|
+
<span class="cline-any cline-no"> </span>
|
|
602
|
+
<span class="cline-any cline-no"> </span>
|
|
603
603
|
<span class="cline-any cline-neutral"> </span>
|
|
604
604
|
<span class="cline-any cline-no"> </span>
|
|
605
605
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -776,7 +776,7 @@ class TestConfiguration {
|
|
|
776
776
|
|
|
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
|
|
|
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
|
|
|
@@ -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" >()
|
|
818
|
+
request.cookies = { set: <span class="fstat-no" title="function not covered" >() => {</span>}, get: <span class="fstat-no" title="function not covered" >() => {</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
|
|
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
|
|
|
1016
1016
|
// CONFIGS - GOOGLE
|
|
1017
1017
|
|
|
1018
|
-
|
|
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
|
|
|
1023
1023
|
// CONFIGS - OIDC
|
|
1024
1024
|
|
|
1025
|
-
<span class="fstat-no" title="function not covered" > getOIDConfigCookie(</span>
|
|
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
|
|
|
1055
|
-
export
|
|
1055
|
+
export default TestConfiguration
|
|
1056
1056
|
</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
|
|
1063
|
+
at Wed Jan 11 2023 09:49:07 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'>
|
|
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
|
|
148
|
+
at Wed Jan 11 2023 09:49:07 GMT+0000 (Coordinated Universal Time)
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../../../prettify.js"></script>
|
|
151
151
|
<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'>
|
|
28
|
+
<span class='fraction'>16/16</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -205,7 +205,7 @@ export class AuthAPI extends TestAPI {
|
|
|
205
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
206
206
|
Code coverage generated by
|
|
207
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
208
|
-
at
|
|
208
|
+
at Wed Jan 11 2023 09:49:07 GMT+0000 (Coordinated Universal Time)
|
|
209
209
|
</div>
|
|
210
210
|
<script src="../../../prettify.js"></script>
|
|
211
211
|
<script>
|
|
@@ -39,7 +39,7 @@
|
|
|
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'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
<span class="cline-any cline-neutral"> </span>
|
|
87
87
|
<span class="cline-any cline-neutral"> </span>
|
|
88
88
|
<span class="cline-any cline-neutral"> </span>
|
|
89
|
-
<span class="cline-any cline-yes">
|
|
89
|
+
<span class="cline-any cline-yes">270x</span>
|
|
90
90
|
<span class="cline-any cline-neutral"> </span>
|
|
91
91
|
<span class="cline-any cline-neutral"> </span>
|
|
92
92
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -118,7 +118,7 @@ export abstract class TestAPI {
|
|
|
118
118
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
119
|
Code coverage generated by
|
|
120
120
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
121
|
-
at
|
|
121
|
+
at Wed Jan 11 2023 09:49:07 GMT+0000 (Coordinated Universal Time)
|
|
122
122
|
</div>
|
|
123
123
|
<script src="../../../prettify.js"></script>
|
|
124
124
|
<script>
|