@budibase/worker 2.2.26 → 2.2.27-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/Dockerfile +1 -1
  2. package/__mocks__/node-fetch.ts +23 -0
  3. package/coverage/clover.xml +1423 -1379
  4. package/coverage/coverage-final.json +83 -77
  5. package/coverage/lcov-report/index.html +140 -140
  6. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +52 -52
  7. package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +167 -224
  8. package/coverage/lcov-report/src/api/controllers/global/email.ts.html +4 -4
  9. package/coverage/lcov-report/src/api/controllers/global/events.ts.html +136 -0
  10. package/coverage/lcov-report/src/api/controllers/global/index.html +83 -68
  11. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +16 -16
  12. package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +69 -69
  13. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +20 -20
  14. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +54 -54
  15. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +83 -44
  16. package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +9 -9
  17. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +5 -5
  18. package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +4 -4
  19. package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
  20. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +5 -5
  21. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +4 -4
  22. package/coverage/lcov-report/src/api/controllers/system/status.ts.html +5 -5
  23. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +7 -7
  24. package/coverage/lcov-report/src/api/index.html +1 -1
  25. package/coverage/lcov-report/src/api/index.ts.html +42 -30
  26. package/coverage/lcov-report/src/api/routes/global/auth.ts.html +14 -14
  27. package/coverage/lcov-report/src/api/routes/global/configs.ts.html +25 -25
  28. package/coverage/lcov-report/src/api/routes/global/email.ts.html +13 -13
  29. package/coverage/lcov-report/src/api/routes/global/events.ts.html +109 -0
  30. package/coverage/lcov-report/src/api/routes/global/index.html +37 -22
  31. package/coverage/lcov-report/src/api/routes/global/license.ts.html +9 -9
  32. package/coverage/lcov-report/src/api/routes/global/roles.ts.html +10 -10
  33. package/coverage/lcov-report/src/api/routes/global/self.ts.html +11 -11
  34. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +14 -14
  35. package/coverage/lcov-report/src/api/routes/global/users.ts.html +62 -20
  36. package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +12 -12
  37. package/coverage/lcov-report/src/api/routes/index.html +7 -7
  38. package/coverage/lcov-report/src/api/routes/index.ts.html +29 -23
  39. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +10 -10
  40. package/coverage/lcov-report/src/api/routes/system/environment.ts.html +9 -9
  41. package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
  42. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +10 -10
  43. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +9 -9
  44. package/coverage/lcov-report/src/api/routes/system/status.ts.html +9 -9
  45. package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +10 -10
  46. package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
  47. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
  48. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +14 -14
  49. package/coverage/lcov-report/src/constants/index.html +17 -17
  50. package/coverage/lcov-report/src/constants/index.ts.html +77 -53
  51. package/coverage/lcov-report/src/constants/templates/index.html +18 -18
  52. package/coverage/lcov-report/src/constants/templates/index.ts.html +42 -42
  53. package/coverage/lcov-report/src/db/index.html +17 -17
  54. package/coverage/lcov-report/src/db/index.ts.html +18 -18
  55. package/coverage/lcov-report/src/environment.ts.html +45 -30
  56. package/coverage/lcov-report/src/index.html +27 -27
  57. package/coverage/lcov-report/src/index.ts.html +55 -55
  58. package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +5 -5
  59. package/coverage/lcov-report/src/middleware/index.html +1 -1
  60. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +9 -9
  61. package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
  62. package/coverage/lcov-report/src/migrations/index.html +15 -15
  63. package/coverage/lcov-report/src/migrations/index.ts.html +27 -27
  64. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +13 -13
  65. package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
  66. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
  67. package/coverage/lcov-report/src/sdk/index.html +5 -5
  68. package/coverage/lcov-report/src/sdk/index.ts.html +6 -6
  69. package/coverage/lcov-report/src/sdk/users/events.ts.html +82 -58
  70. package/coverage/lcov-report/src/sdk/users/index.html +28 -28
  71. package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
  72. package/coverage/lcov-report/src/sdk/users/users.ts.html +174 -120
  73. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +221 -107
  74. package/coverage/lcov-report/src/tests/api/accounts.ts.html +7 -7
  75. package/coverage/lcov-report/src/tests/api/auth.ts.html +25 -13
  76. package/coverage/lcov-report/src/tests/api/base.ts.html +5 -5
  77. package/coverage/lcov-report/src/tests/api/configs.ts.html +11 -11
  78. package/coverage/lcov-report/src/tests/api/email.ts.html +6 -6
  79. package/coverage/lcov-report/src/tests/api/environment.ts.html +6 -6
  80. package/coverage/lcov-report/src/tests/api/groups.ts.html +163 -0
  81. package/coverage/lcov-report/src/tests/api/index.html +91 -31
  82. package/coverage/lcov-report/src/tests/api/index.ts.html +62 -29
  83. package/coverage/lcov-report/src/tests/api/license.ts.html +136 -0
  84. package/coverage/lcov-report/src/tests/api/migrations.ts.html +8 -8
  85. package/coverage/lcov-report/src/tests/api/restore.ts.html +7 -7
  86. package/coverage/lcov-report/src/tests/api/roles.ts.html +181 -0
  87. package/coverage/lcov-report/src/tests/api/self.ts.html +7 -7
  88. package/coverage/lcov-report/src/tests/api/status.ts.html +6 -6
  89. package/coverage/lcov-report/src/tests/api/templates.ts.html +175 -0
  90. package/coverage/lcov-report/src/tests/api/tenants.ts.html +10 -10
  91. package/coverage/lcov-report/src/tests/api/users.ts.html +30 -27
  92. package/coverage/lcov-report/src/tests/controllers.ts.html +14 -14
  93. package/coverage/lcov-report/src/tests/index.html +34 -34
  94. package/coverage/lcov-report/src/tests/index.ts.html +19 -55
  95. package/coverage/lcov-report/src/tests/mocks/{email.js.html → email.ts.html} +5 -5
  96. package/coverage/lcov-report/src/tests/mocks/index.html +6 -6
  97. package/coverage/lcov-report/src/tests/mocks/index.ts.html +10 -10
  98. package/coverage/lcov-report/src/tests/structures/configs.ts.html +11 -11
  99. package/coverage/lcov-report/src/tests/structures/groups.ts.html +15 -15
  100. package/coverage/lcov-report/src/tests/structures/index.html +26 -26
  101. package/coverage/lcov-report/src/tests/structures/index.ts.html +16 -22
  102. package/coverage/lcov-report/src/tests/structures/users.ts.html +16 -16
  103. package/coverage/lcov-report/src/utilities/appService.ts.html +45 -18
  104. package/coverage/lcov-report/src/utilities/email.ts.html +28 -28
  105. package/coverage/lcov-report/src/utilities/fileSystem.ts.html +4 -4
  106. package/coverage/lcov-report/src/utilities/index.html +27 -27
  107. package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
  108. package/coverage/lcov-report/src/utilities/redis.ts.html +20 -20
  109. package/coverage/lcov-report/src/utilities/templates.ts.html +6 -6
  110. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  111. package/coverage/lcov.info +2826 -2609
  112. package/jest-testcontainers-config.js +8 -0
  113. package/jest.config.ts +10 -4
  114. package/package.json +11 -7
  115. package/scripts/dev/manage.js +2 -2
  116. package/src/api/controllers/global/auth.ts +1 -1
  117. package/src/api/controllers/global/configs.ts +112 -131
  118. package/src/api/controllers/global/events.ts +17 -0
  119. package/src/api/controllers/global/users.ts +14 -1
  120. package/src/api/index.ts +4 -0
  121. package/src/api/routes/global/auth.ts +1 -1
  122. package/src/api/routes/global/configs.ts +7 -7
  123. package/src/api/routes/global/email.ts +1 -1
  124. package/src/api/routes/global/events.ts +8 -0
  125. package/src/api/routes/global/license.ts +1 -1
  126. package/src/api/routes/global/roles.ts +1 -1
  127. package/src/api/routes/global/self.ts +1 -1
  128. package/src/api/routes/global/templates.ts +1 -1
  129. package/src/api/routes/global/tests/auth.spec.ts +30 -22
  130. package/src/api/routes/global/tests/configs.spec.ts +114 -94
  131. package/src/api/routes/global/tests/groups.spec.ts +58 -0
  132. package/src/api/routes/global/tests/license.spec.ts +0 -2
  133. package/src/api/routes/global/tests/roles.spec.ts +71 -5
  134. package/src/api/routes/global/tests/templates.spec.ts +81 -9
  135. package/src/api/routes/global/tests/users.spec.ts +35 -36
  136. package/src/api/routes/global/users.ts +15 -1
  137. package/src/api/routes/global/workspaces.ts +1 -1
  138. package/src/api/routes/index.ts +2 -0
  139. package/src/api/routes/system/accounts.ts +1 -1
  140. package/src/api/routes/system/environment.ts +1 -1
  141. package/src/api/routes/system/migrations.ts +1 -1
  142. package/src/api/routes/system/restore.ts +1 -1
  143. package/src/api/routes/system/status.ts +1 -1
  144. package/src/api/routes/system/tenants.ts +1 -1
  145. package/src/api/routes/system/tests/environment.spec.ts +1 -1
  146. package/src/constants/index.ts +13 -5
  147. package/src/db/index.ts +1 -1
  148. package/src/environment.ts +6 -1
  149. package/src/index.ts +5 -5
  150. package/src/middleware/cloudRestricted.ts +1 -1
  151. package/src/sdk/users/events.ts +8 -0
  152. package/src/sdk/users/users.ts +23 -5
  153. package/src/tests/TestConfiguration.ts +52 -14
  154. package/src/tests/api/auth.ts +7 -3
  155. package/src/tests/api/configs.ts +2 -2
  156. package/src/tests/api/groups.ts +26 -0
  157. package/src/tests/api/index.ts +12 -1
  158. package/src/tests/api/license.ts +17 -0
  159. package/src/tests/api/roles.ts +32 -0
  160. package/src/tests/api/templates.ts +30 -0
  161. package/src/tests/api/users.ts +4 -3
  162. package/src/tests/index.ts +6 -18
  163. package/src/tests/jestEnv.ts +11 -0
  164. package/src/tests/jestSetup.ts +8 -15
  165. package/src/tests/mocks/{email.js → email.ts} +1 -1
  166. package/src/tests/mocks/index.ts +4 -4
  167. package/src/tests/structures/configs.ts +2 -2
  168. package/src/tests/structures/groups.ts +1 -1
  169. package/src/tests/structures/index.ts +3 -5
  170. package/src/tests/structures/users.ts +1 -1
  171. package/src/utilities/appService.ts +12 -3
  172. package/tsconfig.json +2 -2
@@ -100,11 +100,11 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
104
- <span class="cline-any cline-yes">17x</span>
103
+ <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
104
+ <span class="cline-any cline-yes">18x</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-yes">17x</span>
107
+ <span class="cline-any cline-yes">18x</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -181,7 +181,7 @@ export async function sendEmail(ctx: BBContext) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
184
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  <script src="../../../../prettify.js"></script>
187
187
  <script>
@@ -0,0 +1,136 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api/controllers/global/events.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/global</a> events.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">37.5% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>3/8</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">37.5% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>3/8</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-yes">18x</span>
88
+ <span class="cline-any cline-yes">18x</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-yes">18x</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-no">&nbsp;</span>
94
+ <span class="cline-any cline-no">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-no">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-no">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
101
+ UserCtx,
102
+ PostEventPublishRequest,
103
+ EventPublishType,
104
+ } from "@budibase/types"
105
+ import { events } from "@budibase/backend-core"
106
+ &nbsp;
107
+ export async function publish(ctx: UserCtx&lt;PostEventPublishRequest, void&gt;) {
108
+ <span class="cstat-no" title="statement not covered" > switch (ctx.request.body.type) {</span>
109
+ case EventPublishType.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED:
110
+ <span class="cstat-no" title="statement not covered" > await events.environmentVariable.upgradePanelOpened(ctx.user._id!)</span>
111
+ <span class="cstat-no" title="statement not covered" > break</span>
112
+ default:
113
+ <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Invalid publish event type.")</span>
114
+ }
115
+ <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
116
+ }
117
+ &nbsp;</pre></td></tr></table></pre>
118
+
119
+ <div class='push'></div><!-- for sticky footer -->
120
+ </div><!-- /wrapper -->
121
+ <div class='footer quiet pad2 space-top1 center small'>
122
+ Code coverage generated by
123
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
124
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
125
+ </div>
126
+ <script src="../../../../prettify.js"></script>
127
+ <script>
128
+ window.onload = function () {
129
+ prettyPrint();
130
+ };
131
+ </script>
132
+ <script src="../../../../sorter.js"></script>
133
+ <script src="../../../../block-navigation.js"></script>
134
+ </body>
135
+ </html>
136
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">61.15% </span>
26
+ <span class="strong">66.56% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>422/690</span>
28
+ <span class='fraction'>434/652</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.48% </span>
33
+ <span class="strong">56.17% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>92/172</span>
35
+ <span class='fraction'>91/162</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50.36% </span>
40
+ <span class="strong">70.7% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>69/137</span>
42
+ <span class='fraction'>111/157</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.21% </span>
47
+ <span class="strong">64.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>360/608</span>
49
+ <span class='fraction'>392/606</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="auth.ts"><a href="auth.ts.html">auth.ts</a></td>
83
- <td data-value="64.23" class="pic medium">
83
+ <td data-value="64.17" class="pic medium">
84
84
  <div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
85
85
  </td>
86
- <td data-value="64.23" class="pct medium">64.23%</td>
87
- <td data-value="151" class="abs medium">97/151</td>
88
- <td data-value="36.36" class="pct low">36.36%</td>
89
- <td data-value="22" class="abs low">8/22</td>
90
- <td data-value="48.78" class="pct low">48.78%</td>
91
- <td data-value="41" class="abs low">20/41</td>
92
- <td data-value="61.47" class="pct medium">61.47%</td>
93
- <td data-value="122" class="abs medium">75/122</td>
86
+ <td data-value="64.17" class="pct medium">64.17%</td>
87
+ <td data-value="134" class="abs medium">86/134</td>
88
+ <td data-value="27.77" class="pct low">27.77%</td>
89
+ <td data-value="18" class="abs low">5/18</td>
90
+ <td data-value="61.53" class="pct medium">61.53%</td>
91
+ <td data-value="39" class="abs medium">24/39</td>
92
+ <td data-value="60.5" class="pct medium">60.5%</td>
93
+ <td data-value="119" class="abs medium">72/119</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file medium" data-value="configs.ts"><a href="configs.ts.html">configs.ts</a></td>
98
- <td data-value="69.27" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
98
+ <td data-value="68.53" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 68%"></div><div class="cover-empty" style="width: 32%"></div></div>
100
100
  </td>
101
- <td data-value="69.27" class="pct medium">69.27%</td>
102
- <td data-value="192" class="abs medium">133/192</td>
103
- <td data-value="61.95" class="pct medium">61.95%</td>
104
- <td data-value="92" class="abs medium">57/92</td>
105
- <td data-value="72" class="pct medium">72%</td>
106
- <td data-value="25" class="abs medium">18/25</td>
107
- <td data-value="68.15" class="pct medium">68.15%</td>
108
- <td data-value="179" class="abs medium">122/179</td>
101
+ <td data-value="68.53" class="pct medium">68.53%</td>
102
+ <td data-value="178" class="abs medium">122/178</td>
103
+ <td data-value="68.47" class="pct medium">68.47%</td>
104
+ <td data-value="92" class="abs medium">63/92</td>
105
+ <td data-value="77.41" class="pct medium">77.41%</td>
106
+ <td data-value="31" class="abs medium">24/31</td>
107
+ <td data-value="67.46" class="pct medium">67.46%</td>
108
+ <td data-value="166" class="abs medium">112/166</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -124,33 +124,48 @@
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file low" data-value="license.ts"><a href="license.ts.html">license.ts</a></td>
128
- <td data-value="35.48" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 35%"></div><div class="cover-empty" style="width: 65%"></div></div>
127
+ <td class="file low" data-value="events.ts"><a href="events.ts.html">events.ts</a></td>
128
+ <td data-value="37.5" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 37%"></div><div class="cover-empty" style="width: 63%"></div></div>
130
130
  </td>
131
- <td data-value="35.48" class="pct low">35.48%</td>
132
- <td data-value="31" class="abs low">11/31</td>
131
+ <td data-value="37.5" class="pct low">37.5%</td>
132
+ <td data-value="8" class="abs low">3/8</td>
133
133
  <td data-value="0" class="pct low">0%</td>
134
134
  <td data-value="2" class="abs low">0/2</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="1" class="abs high">1/1</td>
137
+ <td data-value="37.5" class="pct low">37.5%</td>
138
+ <td data-value="8" class="abs low">3/8</td>
139
+ </tr>
140
+
141
+ <tr>
142
+ <td class="file low" data-value="license.ts"><a href="license.ts.html">license.ts</a></td>
143
+ <td data-value="42.3" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 42%"></div><div class="cover-empty" style="width: 58%"></div></div>
145
+ </td>
146
+ <td data-value="42.3" class="pct low">42.3%</td>
147
+ <td data-value="26" class="abs low">11/26</td>
135
148
  <td data-value="0" class="pct low">0%</td>
136
- <td data-value="10" class="abs low">0/10</td>
149
+ <td data-value="2" class="abs low">0/2</td>
150
+ <td data-value="50" class="pct medium">50%</td>
151
+ <td data-value="10" class="abs medium">5/10</td>
137
152
  <td data-value="28.57" class="pct low">28.57%</td>
138
153
  <td data-value="21" class="abs low">6/21</td>
139
154
  </tr>
140
155
 
141
156
  <tr>
142
- <td class="file low" data-value="roles.ts"><a href="roles.ts.html">roles.ts</a></td>
143
- <td data-value="14.28" class="pic low">
144
- <div class="chart"><div class="cover-fill" style="width: 14%"></div><div class="cover-empty" style="width: 86%"></div></div>
157
+ <td class="file high" data-value="roles.ts"><a href="roles.ts.html">roles.ts</a></td>
158
+ <td data-value="91.17" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
145
160
  </td>
146
- <td data-value="14.28" class="pct low">14.28%</td>
147
- <td data-value="35" class="abs low">5/35</td>
161
+ <td data-value="91.17" class="pct high">91.17%</td>
162
+ <td data-value="34" class="abs high">31/34</td>
148
163
  <td data-value="0" class="pct low">0%</td>
149
164
  <td data-value="1" class="abs low">0/1</td>
150
- <td data-value="0" class="pct low">0%</td>
151
- <td data-value="5" class="abs low">0/5</td>
152
- <td data-value="14.7" class="pct low">14.7%</td>
153
- <td data-value="34" class="abs low">5/34</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="7" class="abs high">7/7</td>
167
+ <td data-value="91.17" class="pct high">91.17%</td>
168
+ <td data-value="34" class="abs high">31/34</td>
154
169
  </tr>
155
170
 
156
171
  <tr>
@@ -162,40 +177,40 @@
162
177
  <td data-value="78" class="abs medium">51/78</td>
163
178
  <td data-value="36.36" class="pct low">36.36%</td>
164
179
  <td data-value="11" class="abs low">4/11</td>
165
- <td data-value="50" class="pct medium">50%</td>
166
- <td data-value="10" class="abs medium">5/10</td>
180
+ <td data-value="64.28" class="pct medium">64.28%</td>
181
+ <td data-value="14" class="abs medium">9/14</td>
167
182
  <td data-value="65.38" class="pct medium">65.38%</td>
168
183
  <td data-value="78" class="abs medium">51/78</td>
169
184
  </tr>
170
185
 
171
186
  <tr>
172
- <td class="file low" data-value="templates.ts"><a href="templates.ts.html">templates.ts</a></td>
173
- <td data-value="31.25" class="pic low">
174
- <div class="chart"><div class="cover-fill" style="width: 31%"></div><div class="cover-empty" style="width: 69%"></div></div>
187
+ <td class="file medium" data-value="templates.ts"><a href="templates.ts.html">templates.ts</a></td>
188
+ <td data-value="78.12" class="pic medium">
189
+ <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
175
190
  </td>
176
- <td data-value="31.25" class="pct low">31.25%</td>
177
- <td data-value="32" class="abs low">10/32</td>
178
- <td data-value="0" class="pct low">0%</td>
179
- <td data-value="2" class="abs low">0/2</td>
180
- <td data-value="0" class="pct low">0%</td>
181
- <td data-value="7" class="abs low">0/7</td>
182
- <td data-value="31.25" class="pct low">31.25%</td>
183
- <td data-value="32" class="abs low">10/32</td>
191
+ <td data-value="78.12" class="pct medium">78.12%</td>
192
+ <td data-value="32" class="abs medium">25/32</td>
193
+ <td data-value="100" class="pct high">100%</td>
194
+ <td data-value="2" class="abs high">2/2</td>
195
+ <td data-value="71.42" class="pct medium">71.42%</td>
196
+ <td data-value="14" class="abs medium">10/14</td>
197
+ <td data-value="78.12" class="pct medium">78.12%</td>
198
+ <td data-value="32" class="abs medium">25/32</td>
184
199
  </tr>
185
200
 
186
201
  <tr>
187
202
  <td class="file medium" data-value="users.ts"><a href="users.ts.html">users.ts</a></td>
188
- <td data-value="76.29" class="pic medium">
189
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
203
+ <td data-value="73.8" class="pic medium">
204
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
190
205
  </td>
191
- <td data-value="76.29" class="pct medium">76.29%</td>
192
- <td data-value="135" class="abs medium">103/135</td>
193
- <td data-value="57.5" class="pct medium">57.5%</td>
194
- <td data-value="40" class="abs medium">23/40</td>
195
- <td data-value="75.75" class="pct medium">75.75%</td>
196
- <td data-value="33" class="abs medium">25/33</td>
197
- <td data-value="73.83" class="pct medium">73.83%</td>
198
- <td data-value="107" class="abs medium">79/107</td>
206
+ <td data-value="73.8" class="pct medium">73.8%</td>
207
+ <td data-value="126" class="abs medium">93/126</td>
208
+ <td data-value="53.12" class="pct medium">53.12%</td>
209
+ <td data-value="32" class="abs medium">17/32</td>
210
+ <td data-value="83.87" class="pct high">83.87%</td>
211
+ <td data-value="31" class="abs high">26/31</td>
212
+ <td data-value="70.79" class="pct medium">70.79%</td>
213
+ <td data-value="113" class="abs medium">80/113</td>
199
214
  </tr>
200
215
 
201
216
  <tr>
@@ -207,8 +222,8 @@
207
222
  <td data-value="27" class="abs low">5/27</td>
208
223
  <td data-value="0" class="pct low">0%</td>
209
224
  <td data-value="1" class="abs low">0/1</td>
210
- <td data-value="0" class="pct low">0%</td>
211
- <td data-value="5" class="abs low">0/5</td>
225
+ <td data-value="44.44" class="pct low">44.44%</td>
226
+ <td data-value="9" class="abs low">4/9</td>
212
227
  <td data-value="19.23" class="pct low">19.23%</td>
213
228
  <td data-value="26" class="abs low">5/26</td>
214
229
  </tr>
@@ -221,7 +236,7 @@
221
236
  <div class='footer quiet pad2 space-top1 center small'>
222
237
  Code coverage generated by
223
238
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
224
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
239
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
225
240
  </div>
226
241
  <script src="../../../../prettify.js"></script>
227
242
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">35.48% </span>
26
+ <span class="strong">42.3% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/31</span>
28
+ <span class='fraction'>11/26</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/10</span>
42
+ <span class='fraction'>5/10</span>
43
43
  </div>
44
44
 
45
45
 
@@ -97,9 +97,9 @@
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
99
  <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
100
+ <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-yes">17x</span>
102
+ <span class="cline-any cline-yes">18x</span>
103
103
  <span class="cline-any cline-no">&nbsp;</span>
104
104
  <span class="cline-any cline-no">&nbsp;</span>
105
105
  <span class="cline-any cline-no">&nbsp;</span>
@@ -109,12 +109,12 @@
109
109
  <span class="cline-any cline-no">&nbsp;</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-yes">17x</span>
112
+ <span class="cline-any cline-yes">18x</span>
113
113
  <span class="cline-any cline-no">&nbsp;</span>
114
114
  <span class="cline-any cline-no">&nbsp;</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">17x</span>
117
+ <span class="cline-any cline-yes">18x</span>
118
118
  <span class="cline-any cline-no">&nbsp;</span>
119
119
  <span class="cline-any cline-no">&nbsp;</span>
120
120
  <span class="cline-any cline-no">&nbsp;</span>
@@ -123,17 +123,17 @@
123
123
  <span class="cline-any cline-no">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-yes">17x</span>
126
+ <span class="cline-any cline-yes">18x</span>
127
127
  <span class="cline-any cline-no">&nbsp;</span>
128
128
  <span class="cline-any cline-no">&nbsp;</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-yes">17x</span>
131
+ <span class="cline-any cline-yes">18x</span>
132
132
  <span class="cline-any cline-no">&nbsp;</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { licensing, quotas } from "@budibase/pro"
135
135
  &nbsp;
136
- export const activate = <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>
136
+ export const activate = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
137
137
  const { licenseKey } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
138
138
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!licenseKey) {</span>
139
139
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "licenseKey is required")</span>
@@ -143,12 +143,12 @@ export const activate = <span class="fstat-no" title="function not covered" >asy
143
143
  <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
144
144
  }
145
145
  &nbsp;
146
- export const refresh = <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>
146
+ export const refresh = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
147
147
  <span class="cstat-no" title="statement not covered" > await licensing.cache.refresh()</span>
148
148
  <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
149
149
  }
150
150
  &nbsp;
151
- export const getInfo = <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>
151
+ export const getInfo = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
152
152
  const licenseInfo = <span class="cstat-no" title="statement not covered" >await licensing.getLicenseInfo()</span>
153
153
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (licenseInfo) {</span>
154
154
  <span class="cstat-no" title="statement not covered" > licenseInfo.licenseKey = "*"</span>
@@ -157,12 +157,12 @@ export const getInfo = <span class="fstat-no" title="function not covered" >asyn
157
157
  <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
158
158
  }
159
159
  &nbsp;
160
- export const deleteInfo = <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>
160
+ export const deleteInfo = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
161
161
  <span class="cstat-no" title="statement not covered" > await licensing.deleteLicenseInfo()</span>
162
162
  <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
163
163
  }
164
164
  &nbsp;
165
- export const getQuotaUsage = <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>
165
+ export const getQuotaUsage = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
166
166
  <span class="cstat-no" title="statement not covered" > ctx.body = await quotas.getQuotaUsage()</span>
167
167
  }
168
168
  &nbsp;</pre></td></tr></table></pre>
@@ -172,7 +172,7 @@ export const getQuotaUsage = <span class="fstat-no" title="function not covered"
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
- at Thu Feb 02 2023 11:54:57 GMT+0000 (Coordinated Universal Time)
175
+ at Mon Feb 06 2023 09:20:59 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  <script src="../../../../prettify.js"></script>
178
178
  <script>