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

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 (171) hide show
  1. package/__mocks__/oauth.ts +57 -0
  2. package/coverage/clover.xml +1255 -1174
  3. package/coverage/coverage-final.json +77 -72
  4. package/coverage/lcov-report/index.html +96 -96
  5. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +110 -98
  6. package/coverage/lcov-report/src/api/controllers/global/configs.js.html +52 -52
  7. package/coverage/lcov-report/src/api/controllers/global/email.js.html +4 -4
  8. package/coverage/lcov-report/src/api/controllers/global/index.html +38 -38
  9. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +7 -7
  10. package/coverage/lcov-report/src/api/controllers/global/roles.js.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +59 -59
  12. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +11 -11
  13. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +75 -69
  14. package/coverage/lcov-report/src/api/controllers/global/workspaces.js.html +7 -7
  15. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +4 -4
  16. package/coverage/lcov-report/src/api/controllers/system/{environment.js.html → environment.ts.html} +21 -18
  17. package/coverage/lcov-report/src/api/controllers/system/index.html +63 -63
  18. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +23 -23
  19. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +22 -22
  20. package/coverage/lcov-report/src/api/controllers/system/{status.js.html → status.ts.html} +29 -26
  21. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +34 -163
  22. package/coverage/lcov-report/src/api/index.html +11 -11
  23. package/coverage/lcov-report/src/api/index.ts.html +113 -44
  24. package/coverage/lcov-report/src/api/routes/global/auth.js.html +38 -89
  25. package/coverage/lcov-report/src/api/routes/global/configs.js.html +26 -26
  26. package/coverage/lcov-report/src/api/routes/global/email.js.html +11 -11
  27. package/coverage/lcov-report/src/api/routes/global/index.html +11 -11
  28. package/coverage/lcov-report/src/api/routes/global/license.ts.html +6 -6
  29. package/coverage/lcov-report/src/api/routes/global/roles.js.html +7 -7
  30. package/coverage/lcov-report/src/api/routes/global/self.ts.html +8 -8
  31. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +13 -13
  32. package/coverage/lcov-report/src/api/routes/global/users.js.html +17 -17
  33. package/coverage/lcov-report/src/api/routes/global/workspaces.js.html +10 -10
  34. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  35. package/coverage/lcov-report/src/api/routes/index.ts.html +19 -19
  36. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +7 -7
  37. package/coverage/lcov-report/src/api/routes/system/{environment.js.html → environment.ts.html} +11 -11
  38. package/coverage/lcov-report/src/api/routes/system/index.html +4 -4
  39. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +7 -7
  40. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +6 -6
  41. package/coverage/lcov-report/src/api/routes/system/{status.js.html → status.ts.html} +11 -11
  42. package/coverage/lcov-report/src/api/routes/system/{tenants.js.html → tenants.ts.html} +20 -17
  43. package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
  45. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +13 -13
  46. package/coverage/lcov-report/src/constants/index.html +10 -10
  47. package/coverage/lcov-report/src/constants/{index.js.html → index.ts.html} +103 -124
  48. package/coverage/lcov-report/src/constants/templates/index.html +1 -1
  49. package/coverage/lcov-report/src/constants/templates/index.js.html +12 -12
  50. package/coverage/lcov-report/src/db/index.html +1 -1
  51. package/coverage/lcov-report/src/db/index.ts.html +8 -8
  52. package/coverage/lcov-report/src/environment.ts.html +15 -15
  53. package/coverage/lcov-report/src/index.html +1 -1
  54. package/coverage/lcov-report/src/index.ts.html +40 -40
  55. package/coverage/lcov-report/src/middleware/cloudRestricted.js.html +23 -23
  56. package/coverage/lcov-report/src/middleware/index.html +21 -21
  57. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +3 -3
  58. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  59. package/coverage/lcov-report/src/migrations/index.html +1 -1
  60. package/coverage/lcov-report/src/migrations/index.ts.html +17 -17
  61. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +6 -6
  62. package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
  63. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
  64. package/coverage/lcov-report/src/sdk/index.html +1 -1
  65. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  66. package/coverage/lcov-report/src/sdk/users/events.ts.html +43 -43
  67. package/coverage/lcov-report/src/sdk/users/index.html +19 -19
  68. package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
  69. package/coverage/lcov-report/src/sdk/users/users.ts.html +99 -99
  70. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +275 -128
  71. package/coverage/lcov-report/src/tests/api/accounts.ts.html +12 -21
  72. package/coverage/lcov-report/src/tests/api/auth.ts.html +11 -20
  73. package/coverage/lcov-report/src/tests/api/base.ts.html +133 -0
  74. package/coverage/lcov-report/src/tests/api/configs.ts.html +44 -23
  75. package/coverage/lcov-report/src/tests/api/email.ts.html +9 -18
  76. package/coverage/lcov-report/src/tests/api/environment.ts.html +130 -0
  77. package/coverage/lcov-report/src/tests/api/index.html +106 -16
  78. package/coverage/lcov-report/src/tests/api/index.ts.html +62 -17
  79. package/coverage/lcov-report/src/tests/{structures/accounts.ts.html → api/migrations.ts.html} +31 -37
  80. package/coverage/lcov-report/src/tests/api/restore.ts.html +127 -0
  81. package/coverage/lcov-report/src/tests/api/self.ts.html +31 -16
  82. package/coverage/lcov-report/src/tests/api/status.ts.html +121 -0
  83. package/coverage/lcov-report/src/tests/api/tenants.ts.html +130 -0
  84. package/coverage/lcov-report/src/tests/api/users.ts.html +121 -25
  85. package/coverage/lcov-report/src/tests/controllers.js.html +2 -2
  86. package/coverage/lcov-report/src/tests/index.html +21 -21
  87. package/coverage/lcov-report/src/tests/index.ts.html +21 -9
  88. package/coverage/lcov-report/src/tests/mocks/email.js.html +2 -2
  89. package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
  90. package/coverage/lcov-report/src/tests/mocks/index.ts.html +4 -4
  91. package/coverage/lcov-report/src/tests/structures/configs.js.html +14 -14
  92. package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
  93. package/coverage/lcov-report/src/tests/structures/index.html +9 -24
  94. package/coverage/lcov-report/src/tests/structures/index.ts.html +21 -15
  95. package/coverage/lcov-report/src/tests/structures/users.ts.html +13 -10
  96. package/coverage/lcov-report/src/utilities/appService.js.html +14 -14
  97. package/coverage/lcov-report/src/utilities/{email.js.html → email.ts.html} +172 -73
  98. package/coverage/lcov-report/src/utilities/fileSystem.js.html +4 -4
  99. package/coverage/lcov-report/src/utilities/index.html +23 -23
  100. package/coverage/lcov-report/src/utilities/index.js.html +2 -2
  101. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +63 -48
  102. package/coverage/lcov-report/src/utilities/{templates.js.html → templates.ts.html} +41 -41
  103. package/coverage/lcov-report/src/utilities/users.js.html +8 -8
  104. package/coverage/lcov.info +2058 -1820
  105. package/jest.config.ts +1 -0
  106. package/package.json +8 -6
  107. package/scripts/localdomain.js +33 -7
  108. package/src/api/controllers/global/auth.ts +35 -31
  109. package/src/api/controllers/global/configs.js +17 -17
  110. package/src/api/controllers/global/self.ts +2 -2
  111. package/src/api/controllers/global/users.ts +3 -1
  112. package/src/api/controllers/system/{environment.js → environment.ts} +3 -2
  113. package/src/api/controllers/system/{status.js → status.ts} +4 -3
  114. package/src/api/controllers/system/tenants.ts +8 -51
  115. package/src/api/index.ts +29 -6
  116. package/src/api/routes/global/auth.js +22 -39
  117. package/src/api/routes/global/configs.js +9 -9
  118. package/src/api/routes/global/templates.ts +2 -2
  119. package/src/api/routes/global/tests/auth.spec.ts +134 -64
  120. package/src/api/routes/global/tests/configs.spec.ts +34 -35
  121. package/src/api/routes/global/tests/email.spec.ts +4 -3
  122. package/src/api/routes/global/tests/license.spec.ts +31 -0
  123. package/src/api/routes/global/tests/realEmail.spec.ts +2 -3
  124. package/src/api/routes/global/tests/roles.spec.ts +27 -0
  125. package/src/api/routes/global/tests/self.spec.ts +3 -4
  126. package/src/api/routes/global/tests/templates.spec.ts +35 -0
  127. package/src/api/routes/global/tests/users.spec.ts +51 -43
  128. package/src/api/routes/global/tests/workspaces.spec.ts +29 -0
  129. package/src/api/routes/system/environment.ts +8 -0
  130. package/src/api/routes/system/status.ts +8 -0
  131. package/src/api/routes/system/tenants.ts +13 -0
  132. package/src/api/routes/system/tests/accounts.spec.ts +5 -6
  133. package/src/api/routes/system/tests/environment.spec.ts +29 -0
  134. package/src/api/routes/system/tests/migrations.spec.ts +63 -0
  135. package/src/api/routes/system/tests/restore.spec.ts +36 -0
  136. package/src/api/routes/system/tests/status.spec.ts +48 -0
  137. package/src/api/routes/system/tests/tenants.spec.ts +61 -0
  138. package/src/constants/{index.js → index.ts} +57 -64
  139. package/src/constants/templates/index.js +2 -2
  140. package/src/middleware/cloudRestricted.js +2 -2
  141. package/src/middleware/tests/tenancy.spec.ts +73 -0
  142. package/src/tests/TestConfiguration.ts +97 -48
  143. package/src/tests/api/accounts.ts +5 -8
  144. package/src/tests/api/auth.ts +3 -6
  145. package/src/tests/api/base.ts +16 -0
  146. package/src/tests/api/configs.ts +15 -8
  147. package/src/tests/api/email.ts +3 -6
  148. package/src/tests/api/environment.ts +15 -0
  149. package/src/tests/api/index.ts +15 -0
  150. package/src/tests/api/migrations.ts +22 -0
  151. package/src/tests/api/restore.ts +14 -0
  152. package/src/tests/api/self.ts +11 -6
  153. package/src/tests/api/status.ts +12 -0
  154. package/src/tests/api/tenants.ts +15 -0
  155. package/src/tests/api/users.ts +38 -6
  156. package/src/tests/index.ts +4 -0
  157. package/src/tests/jestSetup.ts +7 -1
  158. package/src/tests/structures/configs.js +6 -6
  159. package/src/tests/structures/index.ts +4 -2
  160. package/src/tests/structures/users.ts +1 -0
  161. package/src/utilities/appService.js +3 -3
  162. package/src/utilities/{email.js → email.ts} +78 -45
  163. package/src/utilities/{redis.js → redis.ts} +29 -24
  164. package/src/utilities/templates.ts +49 -0
  165. package/tsconfig.build.json +3 -3
  166. package/__mocks__/node-fetch.ts +0 -1
  167. package/src/api/routes/system/environment.js +0 -8
  168. package/src/api/routes/system/status.js +0 -8
  169. package/src/api/routes/system/tenants.js +0 -12
  170. package/src/tests/structures/accounts.ts +0 -24
  171. package/src/utilities/templates.js +0 -49
@@ -25,28 +25,28 @@
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'>95/95</span>
28
+ <span class='fraction'>153/153</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">88.4% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/10</span>
35
+ <span class='fraction'>61/69</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>31/31</span>
42
+ <span class='fraction'>48/48</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>89/89</span>
49
+ <span class='fraction'>147/147</span>
50
50
  </div>
51
51
 
52
52
 
@@ -108,19 +108,34 @@
108
108
  <td data-value="16" class="abs high">16/16</td>
109
109
  </tr>
110
110
 
111
+ <tr>
112
+ <td class="file high" data-value="base.ts"><a href="base.ts.html">base.ts</a></td>
113
+ <td data-value="100" class="pic high">
114
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
+ </td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="3" class="abs high">3/3</td>
118
+ <td data-value="100" class="pct high">100%</td>
119
+ <td data-value="0" class="abs high">0/0</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="1" class="abs high">1/1</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="3" class="abs high">3/3</td>
124
+ </tr>
125
+
111
126
  <tr>
112
127
  <td class="file high" data-value="configs.ts"><a href="configs.ts.html">configs.ts</a></td>
113
128
  <td data-value="100" class="pic high">
114
129
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
130
  </td>
116
131
  <td data-value="100" class="pct high">100%</td>
117
- <td data-value="11" class="abs high">11/11</td>
132
+ <td data-value="17" class="abs high">17/17</td>
118
133
  <td data-value="100" class="pct high">100%</td>
119
134
  <td data-value="0" class="abs high">0/0</td>
120
135
  <td data-value="100" class="pct high">100%</td>
121
- <td data-value="5" class="abs high">5/5</td>
136
+ <td data-value="6" class="abs high">6/6</td>
122
137
  <td data-value="100" class="pct high">100%</td>
123
- <td data-value="11" class="abs high">11/11</td>
138
+ <td data-value="17" class="abs high">17/17</td>
124
139
  </tr>
125
140
 
126
141
  <tr>
@@ -138,19 +153,64 @@
138
153
  <td data-value="5" class="abs high">5/5</td>
139
154
  </tr>
140
155
 
156
+ <tr>
157
+ <td class="file high" data-value="environment.ts"><a href="environment.ts.html">environment.ts</a></td>
158
+ <td data-value="100" class="pic high">
159
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
+ </td>
161
+ <td data-value="100" class="pct high">100%</td>
162
+ <td data-value="5" class="abs high">5/5</td>
163
+ <td data-value="100" class="pct high">100%</td>
164
+ <td data-value="0" class="abs high">0/0</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="2" class="abs high">2/2</td>
167
+ <td data-value="100" class="pct high">100%</td>
168
+ <td data-value="5" class="abs high">5/5</td>
169
+ </tr>
170
+
141
171
  <tr>
142
172
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
143
173
  <td data-value="100" class="pic high">
144
174
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
175
  </td>
146
176
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="13" class="abs high">13/13</td>
177
+ <td data-value="23" class="abs high">23/23</td>
148
178
  <td data-value="100" class="pct high">100%</td>
149
179
  <td data-value="0" class="abs high">0/0</td>
150
180
  <td data-value="100" class="pct high">100%</td>
151
181
  <td data-value="1" class="abs high">1/1</td>
152
182
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="13" class="abs high">13/13</td>
183
+ <td data-value="23" class="abs high">23/23</td>
184
+ </tr>
185
+
186
+ <tr>
187
+ <td class="file high" data-value="migrations.ts"><a href="migrations.ts.html">migrations.ts</a></td>
188
+ <td data-value="100" class="pic high">
189
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
+ </td>
191
+ <td data-value="100" class="pct high">100%</td>
192
+ <td data-value="7" class="abs high">7/7</td>
193
+ <td data-value="100" class="pct high">100%</td>
194
+ <td data-value="24" class="abs high">24/24</td>
195
+ <td data-value="100" class="pct high">100%</td>
196
+ <td data-value="3" class="abs high">3/3</td>
197
+ <td data-value="100" class="pct high">100%</td>
198
+ <td data-value="7" class="abs high">7/7</td>
199
+ </tr>
200
+
201
+ <tr>
202
+ <td class="file high" data-value="restore.ts"><a href="restore.ts.html">restore.ts</a></td>
203
+ <td data-value="100" class="pic high">
204
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
205
+ </td>
206
+ <td data-value="100" class="pct high">100%</td>
207
+ <td data-value="5" class="abs high">5/5</td>
208
+ <td data-value="100" class="pct high">100%</td>
209
+ <td data-value="6" class="abs high">6/6</td>
210
+ <td data-value="100" class="pct high">100%</td>
211
+ <td data-value="2" class="abs high">2/2</td>
212
+ <td data-value="100" class="pct high">100%</td>
213
+ <td data-value="5" class="abs high">5/5</td>
154
214
  </tr>
155
215
 
156
216
  <tr>
@@ -159,6 +219,21 @@
159
219
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
220
  </td>
161
221
  <td data-value="100" class="pct high">100%</td>
222
+ <td data-value="7" class="abs high">7/7</td>
223
+ <td data-value="100" class="pct high">100%</td>
224
+ <td data-value="0" class="abs high">0/0</td>
225
+ <td data-value="100" class="pct high">100%</td>
226
+ <td data-value="3" class="abs high">3/3</td>
227
+ <td data-value="100" class="pct high">100%</td>
228
+ <td data-value="7" class="abs high">7/7</td>
229
+ </tr>
230
+
231
+ <tr>
232
+ <td class="file high" data-value="status.ts"><a href="status.ts.html">status.ts</a></td>
233
+ <td data-value="100" class="pic high">
234
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
+ </td>
236
+ <td data-value="100" class="pct high">100%</td>
162
237
  <td data-value="5" class="abs high">5/5</td>
163
238
  <td data-value="100" class="pct high">100%</td>
164
239
  <td data-value="0" class="abs high">0/0</td>
@@ -169,18 +244,33 @@
169
244
  </tr>
170
245
 
171
246
  <tr>
172
- <td class="file high" data-value="users.ts"><a href="users.ts.html">users.ts</a></td>
247
+ <td class="file high" data-value="tenants.ts"><a href="tenants.ts.html">tenants.ts</a></td>
173
248
  <td data-value="100" class="pic high">
174
249
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
175
250
  </td>
176
251
  <td data-value="100" class="pct high">100%</td>
177
- <td data-value="35" class="abs high">35/35</td>
252
+ <td data-value="5" class="abs high">5/5</td>
253
+ <td data-value="80" class="pct high">80%</td>
254
+ <td data-value="10" class="abs high">8/10</td>
255
+ <td data-value="100" class="pct high">100%</td>
256
+ <td data-value="2" class="abs high">2/2</td>
257
+ <td data-value="100" class="pct high">100%</td>
258
+ <td data-value="5" class="abs high">5/5</td>
259
+ </tr>
260
+
261
+ <tr>
262
+ <td class="file high" data-value="users.ts"><a href="users.ts.html">users.ts</a></td>
263
+ <td data-value="100" class="pic high">
264
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
265
+ </td>
178
266
  <td data-value="100" class="pct high">100%</td>
179
- <td data-value="10" class="abs high">10/10</td>
267
+ <td data-value="45" class="abs high">45/45</td>
268
+ <td data-value="79.31" class="pct medium">79.31%</td>
269
+ <td data-value="29" class="abs medium">23/29</td>
180
270
  <td data-value="100" class="pct high">100%</td>
181
- <td data-value="12" class="abs high">12/12</td>
271
+ <td data-value="15" class="abs high">15/15</td>
182
272
  <td data-value="100" class="pct high">100%</td>
183
- <td data-value="31" class="abs high">31/31</td>
273
+ <td data-value="41" class="abs high">41/41</td>
184
274
  </tr>
185
275
 
186
276
  </tbody>
@@ -191,7 +281,7 @@
191
281
  <div class='footer quiet pad2 space-top1 center small'>
192
282
  Code coverage generated by
193
283
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
284
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
195
285
  </div>
196
286
  <script src="../../../prettify.js"></script>
197
287
  <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'>13/13</span>
28
+ <span class='fraction'>23/23</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/13</span>
49
+ <span class='fraction'>23/23</span>
50
50
  </div>
51
51
 
52
52
 
@@ -88,15 +88,35 @@
88
88
  <a name='L23'></a><a href='#L23'>23</a>
89
89
  <a name='L24'></a><a href='#L24'>24</a>
90
90
  <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-yes">7x</span>
93
- <span class="cline-any cline-yes">7x</span>
94
- <span class="cline-any cline-yes">7x</span>
95
- <span class="cline-any cline-yes">7x</span>
96
- <span class="cline-any cline-yes">7x</span>
97
- <span class="cline-any cline-yes">7x</span>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-yes">17x</span>
108
+ <span class="cline-any cline-yes">17x</span>
109
+ <span class="cline-any cline-yes">17x</span>
110
+ <span class="cline-any cline-yes">17x</span>
111
+ <span class="cline-any cline-yes">17x</span>
112
+ <span class="cline-any cline-yes">17x</span>
113
+ <span class="cline-any cline-yes">17x</span>
114
+ <span class="cline-any cline-yes">17x</span>
115
+ <span class="cline-any cline-yes">17x</span>
116
+ <span class="cline-any cline-yes">17x</span>
117
+ <span class="cline-any cline-yes">17x</span>
98
118
  <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">7x</span>
119
+ <span class="cline-any cline-yes">17x</span>
100
120
  <span class="cline-any cline-neutral">&nbsp;</span>
101
121
  <span class="cline-any cline-neutral">&nbsp;</span>
102
122
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -105,12 +125,22 @@
105
125
  <span class="cline-any cline-neutral">&nbsp;</span>
106
126
  <span class="cline-any cline-neutral">&nbsp;</span>
107
127
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">7x</span>
109
- <span class="cline-any cline-yes">7x</span>
110
- <span class="cline-any cline-yes">7x</span>
111
- <span class="cline-any cline-yes">7x</span>
112
- <span class="cline-any cline-yes">7x</span>
113
- <span class="cline-any cline-yes">7x</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-yes">17x</span>
134
+ <span class="cline-any cline-yes">17x</span>
135
+ <span class="cline-any cline-yes">17x</span>
136
+ <span class="cline-any cline-yes">17x</span>
137
+ <span class="cline-any cline-yes">17x</span>
138
+ <span class="cline-any cline-yes">17x</span>
139
+ <span class="cline-any cline-yes">17x</span>
140
+ <span class="cline-any cline-yes">17x</span>
141
+ <span class="cline-any cline-yes">17x</span>
142
+ <span class="cline-any cline-yes">17x</span>
143
+ <span class="cline-any cline-yes">17x</span>
114
144
  <span class="cline-any cline-neutral">&nbsp;</span>
115
145
  <span class="cline-any cline-neutral">&nbsp;</span>
116
146
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
@@ -120,6 +150,11 @@ import { ConfigAPI } from "./configs"
120
150
  import { EmailAPI } from "./email"
121
151
  import { SelfAPI } from "./self"
122
152
  import { UserAPI } from "./users"
153
+ import { EnvironmentAPI } from "./environment"
154
+ import { MigrationAPI } from "./migrations"
155
+ import { StatusAPI } from "./status"
156
+ import { RestoreAPI } from "./restore"
157
+ import { TenantAPI } from "./tenants"
123
158
  &nbsp;
124
159
  export default class API {
125
160
  accounts: AccountAPI
@@ -128,6 +163,11 @@ export default class API {
128
163
  emails: EmailAPI
129
164
  self: SelfAPI
130
165
  users: UserAPI
166
+ environment: EnvironmentAPI
167
+ migrations: MigrationAPI
168
+ status: StatusAPI
169
+ restore: RestoreAPI
170
+ tenants: TenantAPI
131
171
  &nbsp;
132
172
  constructor(config: TestConfiguration) {
133
173
  this.accounts = new AccountAPI(config)
@@ -136,6 +176,11 @@ export default class API {
136
176
  this.emails = new EmailAPI(config)
137
177
  this.self = new SelfAPI(config)
138
178
  this.users = new UserAPI(config)
179
+ this.environment = new EnvironmentAPI(config)
180
+ this.migrations = new MigrationAPI(config)
181
+ this.status = new StatusAPI(config)
182
+ this.restore = new RestoreAPI(config)
183
+ this.tenants = new TenantAPI(config)
139
184
  }
140
185
  }
141
186
  &nbsp;</pre></td></tr></table></pre>
@@ -145,7 +190,7 @@ export default class API {
145
190
  <div class='footer quiet pad2 space-top1 center small'>
146
191
  Code coverage generated by
147
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
193
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
149
194
  </div>
150
195
  <script src="../../../prettify.js"></script>
151
196
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/tests/structures/accounts.ts</title>
6
+ <title>Code coverage report for src/tests/api/migrations.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,27 +19,27 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tests/structures</a> accounts.ts</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tests/api</a> migrations.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
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'>7/7</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>24/24</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>3/3</span>
43
43
  </div>
44
44
 
45
45
 
@@ -85,54 +85,48 @@
85
85
  <a name='L20'></a><a href='#L20'>20</a>
86
86
  <a name='L21'></a><a href='#L21'>21</a>
87
87
  <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
91
- <span class="cline-any cline-yes">7x</span>
92
- <span class="cline-any cline-yes">7x</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">7x</span>
95
- <span class="cline-any cline-yes">8x</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-yes">17x</span>
98
90
  <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-yes">17x</span>
99
92
  <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-yes">17x</span>
100
94
  <span class="cline-any cline-neutral">&nbsp;</span>
101
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-yes">17x</span>
97
+ <span class="cline-any cline-yes">2x</span>
102
98
  <span class="cline-any cline-neutral">&nbsp;</span>
103
99
  <span class="cline-any cline-neutral">&nbsp;</span>
104
100
  <span class="cline-any cline-neutral">&nbsp;</span>
105
101
  <span class="cline-any cline-neutral">&nbsp;</span>
106
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-yes">17x</span>
104
+ <span class="cline-any cline-yes">2x</span>
107
105
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">7x</span>
109
- <span class="cline-any cline-yes">5x</span>
110
106
  <span class="cline-any cline-neutral">&nbsp;</span>
111
107
  <span class="cline-any cline-neutral">&nbsp;</span>
112
108
  <span class="cline-any cline-neutral">&nbsp;</span>
113
109
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Account, AuthType, Hosting, CloudAccount } from "@budibase/types"
115
- import { v4 as uuid } from "uuid"
116
- import { utils } from "@budibase/backend-core"
110
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
111
+ import { TestAPI, TestAPIOpts } from "./base"
117
112
  &nbsp;
118
- export const account = (): Account =&gt; {
119
- return {
120
- email: `${uuid()}@test.com`,
121
- tenantId: utils.newid(),
122
- hosting: Hosting.SELF,
123
- authType: AuthType.SSO,
124
- accountId: uuid(),
125
- createdAt: Date.now(),
126
- verified: true,
127
- verificationSent: true,
128
- tier: "FREE",
113
+ export class MigrationAPI extends TestAPI {
114
+ constructor(config: TestConfiguration) {
115
+ super(config)
116
+ }
117
+ &nbsp;
118
+ runMigrations = (opts?: TestAPIOpts) =&gt; {
119
+ return this.request
120
+ .post(`/api/system/migrations/run`)
121
+ .set(opts?.headers ? opts.headers : this.config.internalAPIHeaders())
122
+ .expect(opts?.status ? opts.status : 200)
129
123
  }
130
- }
131
124
  &nbsp;
132
- export const cloudAccount = (): CloudAccount =&gt; {
133
- return {
134
- ...account(),
135
- budibaseUserId: uuid(),
125
+ getMigrationDefinitions = (opts?: TestAPIOpts) =&gt; {
126
+ return this.request
127
+ .get(`/api/system/migrations/definitions`)
128
+ .set(opts?.headers ? opts.headers : this.config.internalAPIHeaders())
129
+ .expect(opts?.status ? opts.status : 200)
136
130
  }
137
131
  }
138
132
  &nbsp;</pre></td></tr></table></pre>
@@ -142,7 +136,7 @@ export const cloudAccount = (): CloudAccount =&gt; {
142
136
  <div class='footer quiet pad2 space-top1 center small'>
143
137
  Code coverage generated by
144
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Wed Nov 16 2022 12:02:15 GMT+0000 (Coordinated Universal Time)
139
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
146
140
  </div>
147
141
  <script src="../../../prettify.js"></script>
148
142
  <script>
@@ -0,0 +1,127 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/tests/api/restore.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/tests/api</a> restore.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>5/5</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>6/6</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'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>5/5</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 high'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-yes">17x</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-yes">17x</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-yes">17x</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-yes">17x</span>
89
+ <span class="cline-any cline-yes">2x</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
95
+ import { TestAPI, TestAPIOpts } from "./base"
96
+ &nbsp;
97
+ export class RestoreAPI extends TestAPI {
98
+ constructor(config: TestConfiguration) {
99
+ super(config)
100
+ }
101
+ &nbsp;
102
+ restored = (opts?: TestAPIOpts) =&gt; {
103
+ return this.request
104
+ .post(`/api/system/restored`)
105
+ .expect(opts?.status ? opts.status : 200)
106
+ }
107
+ }
108
+ &nbsp;</pre></td></tr></table></pre>
109
+
110
+ <div class='push'></div><!-- for sticky footer -->
111
+ </div><!-- /wrapper -->
112
+ <div class='footer quiet pad2 space-top1 center small'>
113
+ Code coverage generated by
114
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
116
+ </div>
117
+ <script src="../../../prettify.js"></script>
118
+ <script>
119
+ window.onload = function () {
120
+ prettyPrint();
121
+ };
122
+ </script>
123
+ <script src="../../../sorter.js"></script>
124
+ <script src="../../../block-navigation.js"></script>
125
+ </body>
126
+ </html>
127
+