@budibase/worker 2.1.22-alpha.6 → 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 (123) hide show
  1. package/coverage/clover.xml +326 -305
  2. package/coverage/coverage-final.json +13 -13
  3. package/coverage/lcov-report/index.html +34 -34
  4. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +50 -38
  5. package/coverage/lcov-report/src/api/controllers/global/configs.js.html +18 -18
  6. package/coverage/lcov-report/src/api/controllers/global/email.js.html +1 -1
  7. package/coverage/lcov-report/src/api/controllers/global/index.html +10 -10
  8. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +1 -1
  9. package/coverage/lcov-report/src/api/controllers/global/roles.js.html +1 -1
  10. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +3 -3
  11. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +1 -1
  13. package/coverage/lcov-report/src/api/controllers/global/workspaces.js.html +1 -1
  14. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +1 -1
  15. package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +1 -1
  16. package/coverage/lcov-report/src/api/controllers/system/index.html +1 -1
  17. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/system/status.ts.html +1 -1
  20. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +1 -1
  21. package/coverage/lcov-report/src/api/index.html +1 -1
  22. package/coverage/lcov-report/src/api/index.ts.html +1 -1
  23. package/coverage/lcov-report/src/api/routes/global/auth.js.html +1 -1
  24. package/coverage/lcov-report/src/api/routes/global/configs.js.html +10 -10
  25. package/coverage/lcov-report/src/api/routes/global/email.js.html +1 -1
  26. package/coverage/lcov-report/src/api/routes/global/index.html +1 -1
  27. package/coverage/lcov-report/src/api/routes/global/license.ts.html +1 -1
  28. package/coverage/lcov-report/src/api/routes/global/roles.js.html +1 -1
  29. package/coverage/lcov-report/src/api/routes/global/self.ts.html +1 -1
  30. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +3 -3
  31. package/coverage/lcov-report/src/api/routes/global/users.js.html +1 -1
  32. package/coverage/lcov-report/src/api/routes/global/workspaces.js.html +1 -1
  33. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  34. package/coverage/lcov-report/src/api/routes/index.ts.html +1 -1
  35. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +1 -1
  36. package/coverage/lcov-report/src/api/routes/system/environment.ts.html +1 -1
  37. package/coverage/lcov-report/src/api/routes/system/index.html +1 -1
  38. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/routes/system/status.ts.html +1 -1
  41. package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
  43. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +1 -1
  45. package/coverage/lcov-report/src/constants/index.html +10 -10
  46. package/coverage/lcov-report/src/constants/{index.js.html → index.ts.html} +92 -113
  47. package/coverage/lcov-report/src/constants/templates/index.html +1 -1
  48. package/coverage/lcov-report/src/constants/templates/index.js.html +3 -3
  49. package/coverage/lcov-report/src/db/index.html +1 -1
  50. package/coverage/lcov-report/src/db/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/environment.ts.html +1 -1
  52. package/coverage/lcov-report/src/index.html +1 -1
  53. package/coverage/lcov-report/src/index.ts.html +1 -1
  54. package/coverage/lcov-report/src/middleware/cloudRestricted.js.html +3 -3
  55. package/coverage/lcov-report/src/middleware/index.html +1 -1
  56. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +1 -1
  57. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  58. package/coverage/lcov-report/src/migrations/index.html +1 -1
  59. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  60. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +1 -1
  61. package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
  62. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
  63. package/coverage/lcov-report/src/sdk/index.html +1 -1
  64. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  65. package/coverage/lcov-report/src/sdk/users/events.ts.html +1 -1
  66. package/coverage/lcov-report/src/sdk/users/index.html +1 -1
  67. package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
  68. package/coverage/lcov-report/src/sdk/users/users.ts.html +1 -1
  69. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +31 -22
  70. package/coverage/lcov-report/src/tests/api/accounts.ts.html +1 -1
  71. package/coverage/lcov-report/src/tests/api/auth.ts.html +1 -1
  72. package/coverage/lcov-report/src/tests/api/base.ts.html +1 -1
  73. package/coverage/lcov-report/src/tests/api/configs.ts.html +1 -1
  74. package/coverage/lcov-report/src/tests/api/email.ts.html +1 -1
  75. package/coverage/lcov-report/src/tests/api/environment.ts.html +1 -1
  76. package/coverage/lcov-report/src/tests/api/index.html +1 -1
  77. package/coverage/lcov-report/src/tests/api/index.ts.html +1 -1
  78. package/coverage/lcov-report/src/tests/api/migrations.ts.html +1 -1
  79. package/coverage/lcov-report/src/tests/api/restore.ts.html +1 -1
  80. package/coverage/lcov-report/src/tests/api/self.ts.html +1 -1
  81. package/coverage/lcov-report/src/tests/api/status.ts.html +1 -1
  82. package/coverage/lcov-report/src/tests/api/tenants.ts.html +1 -1
  83. package/coverage/lcov-report/src/tests/api/users.ts.html +1 -1
  84. package/coverage/lcov-report/src/tests/controllers.js.html +1 -1
  85. package/coverage/lcov-report/src/tests/index.html +15 -15
  86. package/coverage/lcov-report/src/tests/index.ts.html +1 -1
  87. package/coverage/lcov-report/src/tests/mocks/email.js.html +1 -1
  88. package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
  89. package/coverage/lcov-report/src/tests/mocks/index.ts.html +1 -1
  90. package/coverage/lcov-report/src/tests/structures/configs.js.html +7 -7
  91. package/coverage/lcov-report/src/tests/structures/groups.ts.html +1 -1
  92. package/coverage/lcov-report/src/tests/structures/index.html +1 -1
  93. package/coverage/lcov-report/src/tests/structures/index.ts.html +1 -1
  94. package/coverage/lcov-report/src/tests/structures/users.ts.html +1 -1
  95. package/coverage/lcov-report/src/utilities/appService.js.html +4 -4
  96. package/coverage/lcov-report/src/utilities/{email.js.html → email.ts.html} +160 -61
  97. package/coverage/lcov-report/src/utilities/fileSystem.js.html +1 -1
  98. package/coverage/lcov-report/src/utilities/index.html +23 -23
  99. package/coverage/lcov-report/src/utilities/index.js.html +1 -1
  100. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +53 -38
  101. package/coverage/lcov-report/src/utilities/{templates.js.html → templates.ts.html} +38 -38
  102. package/coverage/lcov-report/src/utilities/users.js.html +1 -1
  103. package/coverage/lcov.info +593 -529
  104. package/jest.config.ts +1 -0
  105. package/package.json +6 -6
  106. package/src/api/controllers/global/auth.ts +34 -30
  107. package/src/api/controllers/global/configs.js +17 -17
  108. package/src/api/controllers/global/self.ts +2 -2
  109. package/src/api/routes/global/configs.js +9 -9
  110. package/src/api/routes/global/templates.ts +2 -2
  111. package/src/api/routes/global/tests/configs.spec.ts +29 -29
  112. package/src/constants/{index.js → index.ts} +57 -64
  113. package/src/constants/templates/index.js +2 -2
  114. package/src/middleware/cloudRestricted.js +2 -2
  115. package/src/middleware/tests/tenancy.spec.ts +7 -7
  116. package/src/tests/TestConfiguration.ts +15 -12
  117. package/src/tests/structures/configs.js +6 -6
  118. package/src/utilities/appService.js +3 -3
  119. package/src/utilities/{email.js → email.ts} +78 -45
  120. package/src/utilities/{redis.js → redis.ts} +29 -24
  121. package/src/utilities/templates.ts +49 -0
  122. package/tsconfig.build.json +3 -3
  123. package/src/utilities/templates.js +0 -49
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">79.84% </span>
26
+ <span class="strong">79.95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1608/2014</span>
28
+ <span class='fraction'>1627/2035</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">67.44% </span>
33
+ <span class="strong">68.81% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>377/559</span>
35
+ <span class='fraction'>406/590</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">75.05% </span>
40
+ <span class="strong">75.17% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>313/417</span>
42
+ <span class='fraction'>318/423</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">79.73% </span>
47
+ <span class="strong">79.85% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1464/1836</span>
49
+ <span class='fraction'>1483/1857</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="src/api/controllers/global"><a href="src/api/controllers/global/index.html">src/api/controllers/global</a></td>
113
- <td data-value="61.32" class="pic medium">
113
+ <td data-value="61.27" class="pic medium">
114
114
  <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
115
115
  </td>
116
- <td data-value="61.32" class="pct medium">61.32%</td>
117
- <td data-value="693" class="abs medium">425/693</td>
116
+ <td data-value="61.27" class="pct medium">61.27%</td>
117
+ <td data-value="692" class="abs medium">424/692</td>
118
118
  <td data-value="54.3" class="pct medium">54.3%</td>
119
119
  <td data-value="186" class="abs medium">101/186</td>
120
120
  <td data-value="50" class="pct medium">50%</td>
121
121
  <td data-value="136" class="abs medium">68/136</td>
122
- <td data-value="59.27" class="pct medium">59.27%</td>
123
- <td data-value="609" class="abs medium">361/609</td>
122
+ <td data-value="59.21" class="pct medium">59.21%</td>
123
+ <td data-value="608" class="abs medium">360/608</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -204,13 +204,13 @@
204
204
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
205
205
  </td>
206
206
  <td data-value="100" class="pct high">100%</td>
207
- <td data-value="17" class="abs high">17/17</td>
207
+ <td data-value="39" class="abs high">39/39</td>
208
208
  <td data-value="100" class="pct high">100%</td>
209
- <td data-value="0" class="abs high">0/0</td>
209
+ <td data-value="10" class="abs high">10/10</td>
210
210
  <td data-value="100" class="pct high">100%</td>
211
- <td data-value="0" class="abs high">0/0</td>
211
+ <td data-value="5" class="abs high">5/5</td>
212
212
  <td data-value="100" class="pct high">100%</td>
213
- <td data-value="17" class="abs high">17/17</td>
213
+ <td data-value="39" class="abs high">39/39</td>
214
214
  </tr>
215
215
 
216
216
  <tr>
@@ -335,17 +335,17 @@
335
335
 
336
336
  <tr>
337
337
  <td class="file high" data-value="src/tests"><a href="src/tests/index.html">src/tests</a></td>
338
- <td data-value="94.16" class="pic high">
339
- <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
338
+ <td data-value="92.62" class="pic high">
339
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
340
340
  </td>
341
- <td data-value="94.16" class="pct high">94.16%</td>
342
- <td data-value="120" class="abs high">113/120</td>
341
+ <td data-value="92.62" class="pct high">92.62%</td>
342
+ <td data-value="122" class="abs high">113/122</td>
343
343
  <td data-value="75" class="pct medium">75%</td>
344
344
  <td data-value="16" class="abs medium">12/16</td>
345
- <td data-value="89.18" class="pct high">89.18%</td>
346
- <td data-value="37" class="abs high">33/37</td>
347
- <td data-value="94.06" class="pct high">94.06%</td>
348
- <td data-value="118" class="abs high">111/118</td>
345
+ <td data-value="86.84" class="pct high">86.84%</td>
346
+ <td data-value="38" class="abs high">33/38</td>
347
+ <td data-value="92.5" class="pct high">92.5%</td>
348
+ <td data-value="120" class="abs high">111/120</td>
349
349
  </tr>
350
350
 
351
351
  <tr>
@@ -395,17 +395,17 @@
395
395
 
396
396
  <tr>
397
397
  <td class="file high" data-value="src/utilities"><a href="src/utilities/index.html">src/utilities</a></td>
398
- <td data-value="81.21" class="pic high">
399
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
398
+ <td data-value="80.98" class="pic high">
399
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
400
400
  </td>
401
- <td data-value="81.21" class="pct high">81.21%</td>
402
- <td data-value="165" class="abs high">134/165</td>
403
- <td data-value="58.76" class="pct medium">58.76%</td>
404
- <td data-value="97" class="abs medium">57/97</td>
401
+ <td data-value="80.98" class="pct high">80.98%</td>
402
+ <td data-value="163" class="abs high">132/163</td>
403
+ <td data-value="64.4" class="pct medium">64.4%</td>
404
+ <td data-value="118" class="abs medium">76/118</td>
405
405
  <td data-value="95.65" class="pct high">95.65%</td>
406
406
  <td data-value="23" class="abs high">22/23</td>
407
- <td data-value="82.2" class="pct high">82.2%</td>
408
- <td data-value="163" class="abs high">134/163</td>
407
+ <td data-value="81.98" class="pct high">81.98%</td>
408
+ <td data-value="161" class="abs high">132/161</td>
409
409
  </tr>
410
410
 
411
411
  </tbody>
@@ -416,7 +416,7 @@
416
416
  <div class='footer quiet pad2 space-top1 center small'>
417
417
  Code coverage generated by
418
418
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
419
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
419
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
420
420
  </div>
421
421
  <script src="prettify.js"></script>
422
422
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">64.74% </span>
26
+ <span class="strong">64.51% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>101/156</span>
28
+ <span class='fraction'>100/155</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">61.78% </span>
47
+ <span class="strong">61.47% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>76/123</span>
49
+ <span class='fraction'>75/122</span>
50
50
  </div>
51
51
 
52
52
 
@@ -335,19 +335,27 @@
335
335
  <a name='L270'></a><a href='#L270'>270</a>
336
336
  <a name='L271'></a><a href='#L271'>271</a>
337
337
  <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
339
- <span class="cline-any cline-yes">17x</span>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
340
343
  <span class="cline-any cline-yes">17x</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
349
  <span class="cline-any cline-yes">17x</span>
342
350
  <span class="cline-any cline-yes">17x</span>
343
351
  <span class="cline-any cline-yes">17x</span>
344
352
  <span class="cline-any cline-yes">17x</span>
345
353
  <span class="cline-any cline-yes">17x</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
355
  <span class="cline-any cline-yes">17x</span>
347
356
  <span class="cline-any cline-yes">17x</span>
348
357
  <span class="cline-any cline-yes">17x</span>
349
358
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
359
  <span class="cline-any cline-yes">17x</span>
352
360
  <span class="cline-any cline-no">&nbsp;</span>
353
361
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -608,24 +616,28 @@
608
616
  <span class="cline-any cline-neutral">&nbsp;</span>
609
617
  <span class="cline-any cline-neutral">&nbsp;</span>
610
618
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import core from "@budibase/backend-core"
611
- const { Configs, EmailTemplatePurpose } = require("../../../constants")
612
- const { sendEmail, isEmailConfigured } = require("../../../utilities/email")
613
- const { setCookie, getCookie, clearCookie, hash, platformLogout } = core.utils
614
- const { Cookies, Headers } = core.constants
615
- const { passport, ssoCallbackUrl, google, oidc } = core.auth
616
- const { checkResetPasswordCode } = require("../../../utilities/redis")
617
- const { getGlobalDB } = require("@budibase/backend-core/tenancy")
618
- const env = require("../../../environment")
619
- import { events, users as usersCore, context } from "@budibase/backend-core"
619
+ import {
620
+ events,
621
+ users as usersCore,
622
+ context,
623
+ tenancy,
624
+ } from "@budibase/backend-core"
625
+ import { Config, EmailTemplatePurpose } from "../../../constants"
626
+ import { sendEmail, isEmailConfigured } from "../../../utilities/email"
627
+ import { checkResetPasswordCode } from "../../../utilities/redis"
628
+ import env from "../../../environment"
620
629
  import sdk from "../../../sdk"
621
630
  import { User } from "@budibase/types"
631
+ const { setCookie, getCookie, clearCookie, hash, platformLogout } = core.utils
632
+ const { Cookie, Header } = core.constants
633
+ const { passport, ssoCallbackUrl, google, oidc } = core.auth
622
634
  &nbsp;
623
635
  export const googleCallbackUrl = <span class="fstat-no" title="function not covered" >async (c</span>onfig: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
624
- <span class="cstat-no" title="statement not covered" > return ssoCallbackUrl(getGlobalDB(), config, "google")</span>
636
+ <span class="cstat-no" title="statement not covered" > return ssoCallbackUrl(tenancy.getGlobalDB(), config, "google")</span>
625
637
  }
626
638
  &nbsp;
627
639
  export const oidcCallbackUrl = async (config: any) =&gt; {
628
- return ssoCallbackUrl(getGlobalDB(), config, "oidc")
640
+ return ssoCallbackUrl(tenancy.getGlobalDB(), config, "oidc")
629
641
  }
630
642
  &nbsp;
631
643
  async function authInternal(ctx: any, user: any, err = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> info = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
@@ -639,13 +651,13 @@ async function authInternal(ctx: any, user: any, err = <span class="branch-0 cbr
639
651
  }
640
652
  &nbsp;
641
653
  // set a cookie for browser access
642
- setCookie(ctx, user.token, Cookies.Auth, { sign: false })
654
+ setCookie(ctx, user.token, Cookie.Auth, { sign: false })
643
655
  // set the token in a header as well for APIs
644
- ctx.set(Headers.TOKEN, user.token)
656
+ ctx.set(Header.TOKEN, user.token)
645
657
  // get rid of any app cookies on login
646
658
  // have to check test because this breaks cypress
647
659
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!env.isTest()) {
648
- <span class="cstat-no" title="statement not covered" > clearCookie(ctx, Cookies.CurrentApp)</span>
660
+ <span class="cstat-no" title="statement not covered" > clearCookie(ctx, Cookie.CurrentApp)</span>
649
661
  }
650
662
  }
651
663
  &nbsp;
@@ -664,15 +676,15 @@ export const authenticate = <span class="fstat-no" title="function not covered"
664
676
  &nbsp;
665
677
  export const setInitInfo = <span class="fstat-no" title="function not covered" >(c</span>tx: any) =&gt; {
666
678
  const initInfo = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
667
- <span class="cstat-no" title="statement not covered" > setCookie(ctx, initInfo, Cookies.Init)</span>
679
+ <span class="cstat-no" title="statement not covered" > setCookie(ctx, initInfo, Cookie.Init)</span>
668
680
  <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
669
681
  }
670
682
  &nbsp;
671
683
  export const getInitInfo = <span class="fstat-no" title="function not covered" >(c</span>tx: any) =&gt; {
672
684
  <span class="cstat-no" title="statement not covered" > try {</span>
673
- <span class="cstat-no" title="statement not covered" > ctx.body = getCookie(ctx, Cookies.Init) || {}</span>
685
+ <span class="cstat-no" title="statement not covered" > ctx.body = getCookie(ctx, Cookie.Init) || {}</span>
674
686
  } catch (err) {
675
- <span class="cstat-no" title="statement not covered" > clearCookie(ctx, Cookies.Init)</span>
687
+ <span class="cstat-no" title="statement not covered" > clearCookie(ctx, Cookie.Init)</span>
676
688
  <span class="cstat-no" title="statement not covered" > ctx.body = {}</span>
677
689
  }
678
690
  }
@@ -715,7 +727,7 @@ export const resetUpdate = async (ctx: any) =&gt; {
715
727
  const { resetCode, password } = ctx.request.body
716
728
  try {
717
729
  const { userId } = await checkResetPasswordCode(resetCode)
718
- const db = getGlobalDB()
730
+ const db = tenancy.getGlobalDB()
719
731
  const user = await db.get(userId)
720
732
  user.password = await hash(password)
721
733
  await db.put(user)
@@ -750,14 +762,14 @@ export const datasourcePreAuth = <span class="fstat-no" title="function not cove
750
762
  appId: ctx.query.appId,
751
763
  datasourceId: ctx.query.datasourceId,
752
764
  },
753
- Cookies.DatasourceAuth
765
+ Cookie.DatasourceAuth
754
766
  )
755
767
  &nbsp;
756
768
  <span class="cstat-no" title="statement not covered" > return handler.preAuth(passport, ctx, next)</span>
757
769
  }
758
770
  &nbsp;
759
771
  export const datasourceAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
760
- const authStateCookie = <span class="cstat-no" title="statement not covered" >getCookie(ctx, Cookies.DatasourceAuth)</span>
772
+ const authStateCookie = <span class="cstat-no" title="statement not covered" >getCookie(ctx, Cookie.DatasourceAuth)</span>
761
773
  const provider = <span class="cstat-no" title="statement not covered" >authStateCookie.provider</span>
762
774
  const middleware = <span class="cstat-no" title="statement not covered" >require(`@budibase/backend-core/middleware`)</span>
763
775
  const handler = <span class="cstat-no" title="statement not covered" >middleware.datasource[provider]</span>
@@ -769,10 +781,10 @@ export const datasourceAuth = <span class="fstat-no" title="function not covered
769
781
  * On a successful login, you will be redirected to the googleAuth callback route.
770
782
  */
771
783
  export const googlePreAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
772
- const db = <span class="cstat-no" title="statement not covered" >getGlobalDB()</span>
784
+ const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
773
785
  &nbsp;
774
786
  const config = <span class="cstat-no" title="statement not covered" >await core.db.getScopedConfig(db, {</span>
775
- type: Configs.GOOGLE,
787
+ type: Config.GOOGLE,
776
788
  workspace: ctx.query.workspace,
777
789
  })
778
790
  let callbackUrl = <span class="cstat-no" title="statement not covered" >await exports.googleCallbackUrl(config)</span>
@@ -790,10 +802,10 @@ export const googlePreAuth = <span class="fstat-no" title="function not covered"
790
802
  }
791
803
  &nbsp;
792
804
  export const googleAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
793
- const db = <span class="cstat-no" title="statement not covered" >getGlobalDB()</span>
805
+ const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
794
806
  &nbsp;
795
807
  const config = <span class="cstat-no" title="statement not covered" >await core.db.getScopedConfig(db, {</span>
796
- type: Configs.GOOGLE,
808
+ type: Config.GOOGLE,
797
809
  workspace: ctx.query.workspace,
798
810
  })
799
811
  const callbackUrl = <span class="cstat-no" title="statement not covered" >await exports.googleCallbackUrl(config)</span>
@@ -817,9 +829,9 @@ export const googleAuth = <span class="fstat-no" title="function not covered" >a
817
829
  }
818
830
  &nbsp;
819
831
  export const oidcStrategyFactory = async (ctx: any, configId: any) =&gt; {
820
- const db = getGlobalDB()
832
+ const db = tenancy.getGlobalDB()
821
833
  const config = await core.db.getScopedConfig(db, {
822
- type: Configs.OIDC,
834
+ type: Config.OIDC,
823
835
  group: ctx.query.group,
824
836
  })
825
837
  &nbsp;
@@ -842,11 +854,11 @@ export const oidcPreAuth = async (ctx: any, next: any) =&gt; {
842
854
  const { configId } = ctx.params
843
855
  const strategy = await oidcStrategyFactory(ctx, configId)
844
856
  &nbsp;
845
- setCookie(ctx, configId, Cookies.OIDC_CONFIG)
857
+ setCookie(ctx, configId, Cookie.OIDC_CONFIG)
846
858
  &nbsp;
847
- const db = getGlobalDB()
859
+ const db = tenancy.getGlobalDB()
848
860
  const config = await core.db.getScopedConfig(db, {
849
- type: Configs.OIDC,
861
+ type: Config.OIDC,
850
862
  group: ctx.query.group,
851
863
  })
852
864
  &nbsp;
@@ -864,7 +876,7 @@ export const oidcPreAuth = async (ctx: any, next: any) =&gt; {
864
876
  }
865
877
  &nbsp;
866
878
  export const oidcAuth = async (ctx: any, next: any) =&gt; {
867
- const configId = getCookie(ctx, Cookies.OIDC_CONFIG)
879
+ const configId = getCookie(ctx, Cookie.OIDC_CONFIG)
868
880
  const strategy = await oidcStrategyFactory(ctx, configId)
869
881
  &nbsp;
870
882
  return passport.authenticate(
@@ -886,7 +898,7 @@ export const oidcAuth = async (ctx: any, next: any) =&gt; {
886
898
  <div class='footer quiet pad2 space-top1 center small'>
887
899
  Code coverage generated by
888
900
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
889
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
901
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
890
902
  </div>
891
903
  <script src="../../../../prettify.js"></script>
892
904
  <script>
@@ -939,7 +939,7 @@
939
939
  getScopedFullConfig,
940
940
  getAllApps,
941
941
  } = require("@budibase/backend-core/db")
942
- const { Configs } = require("../../../constants")
942
+ const { Config } = require("../../../constants")
943
943
  const email = require("../../../utilities/email")
944
944
  const {
945
945
  upload,
@@ -968,25 +968,25 @@ const getEventFns = async (db, config) =&gt; {
968
968
  &nbsp;
969
969
  if (!existing) {
970
970
  switch (config.type) {
971
- case Configs.SMTP: {
971
+ case Config.SMTP: {
972
972
  fns.push(events.email.SMTPCreated)
973
973
  break
974
974
  }
975
- case Configs.GOOGLE: {
975
+ case Config.GOOGLE: {
976
976
  fns.push(() =&gt; events.auth.SSOCreated(type))
977
977
  if (config.config.activated) {
978
978
  fns.push(() =&gt; events.auth.SSOActivated(type))
979
979
  }
980
980
  break
981
981
  }
982
- case Configs.OIDC: {
982
+ case Config.OIDC: {
983
983
  fns.push(() =&gt; events.auth.SSOCreated(type))
984
984
  if (config.config.configs[0].activated) {
985
985
  fns.push(() =&gt; events.auth.SSOActivated(type))
986
986
  }
987
987
  break
988
988
  }
989
- case Configs.SETTINGS: {
989
+ case Config.SETTINGS: {
990
990
  // company
991
991
  const company = config.config.company
992
992
  if (company &amp;&amp; company !== "Budibase") {
@@ -1013,11 +1013,11 @@ const getEventFns = async (db, config) =&gt; {
1013
1013
  }
1014
1014
  } else {
1015
1015
  switch (config.type) {
1016
- case Configs.SMTP: {
1016
+ case Config.SMTP: {
1017
1017
  fns.push(events.email.SMTPUpdated)
1018
1018
  break
1019
1019
  }
1020
- case Configs.GOOGLE: {
1020
+ case Config.GOOGLE: {
1021
1021
  fns.push(() =&gt; events.auth.SSOUpdated(type))
1022
1022
  if (!existing.config.activated &amp;&amp; config.config.activated) {
1023
1023
  fns.push(() =&gt; events.auth.SSOActivated(type))
@@ -1026,7 +1026,7 @@ const getEventFns = async (db, config) =&gt; {
1026
1026
  }
1027
1027
  break
1028
1028
  }
1029
- case Configs.OIDC: {
1029
+ case Config.OIDC: {
1030
1030
  fns.push(() =&gt; events.auth.SSOUpdated(type))
1031
1031
  if (
1032
1032
  !existing.config.configs[0].activated &amp;&amp;
@@ -1041,7 +1041,7 @@ const getEventFns = async (db, config) =&gt; {
1041
1041
  }
1042
1042
  break
1043
1043
  }
1044
- case Configs.SETTINGS: {
1044
+ case Config.SETTINGS: {
1045
1045
  // company
1046
1046
  const existingCompany = existing.config.company
1047
1047
  const company = config.config.company
@@ -1090,7 +1090,7 @@ exports.save = async function (ctx) {
1090
1090
  try {
1091
1091
  // verify the configuration
1092
1092
  switch (type) {
1093
- case Configs.SMTP:
1093
+ case Config.SMTP:
1094
1094
  await email.verifyConfig(config)
1095
1095
  break
1096
1096
  }
@@ -1172,7 +1172,7 @@ exports.publicOidc = <span class="fstat-no" title="function not covered" >as</sp
1172
1172
  <span class="cstat-no" title="statement not covered" > try {</span>
1173
1173
  // Find the config with the most granular scope based on context
1174
1174
  const oidcConfig = <span class="cstat-no" title="statement not covered" >await getScopedFullConfig(db, {</span>
1175
- type: Configs.OIDC,
1175
+ type: Config.OIDC,
1176
1176
  })
1177
1177
  &nbsp;
1178
1178
  <span class="cstat-no" title="statement not covered" > if (!oidcConfig) {</span>
@@ -1195,15 +1195,15 @@ exports.publicSettings = <span class="fstat-no" title="function not covered" >as
1195
1195
  <span class="cstat-no" title="statement not covered" > try {</span>
1196
1196
  // Find the config with the most granular scope based on context
1197
1197
  const publicConfig = <span class="cstat-no" title="statement not covered" >await getScopedFullConfig(db, {</span>
1198
- type: Configs.SETTINGS,
1198
+ type: Config.SETTINGS,
1199
1199
  })
1200
1200
  &nbsp;
1201
1201
  const googleConfig = <span class="cstat-no" title="statement not covered" >await getScopedFullConfig(db, {</span>
1202
- type: Configs.GOOGLE,
1202
+ type: Config.GOOGLE,
1203
1203
  })
1204
1204
  &nbsp;
1205
1205
  const oidcConfig = <span class="cstat-no" title="statement not covered" >await getScopedFullConfig(db, {</span>
1206
- type: Configs.OIDC,
1206
+ type: Config.OIDC,
1207
1207
  })
1208
1208
  &nbsp;
1209
1209
  let config
@@ -1325,17 +1325,17 @@ exports.configChecklist = async function (ctx) {
1325
1325
  &nbsp;
1326
1326
  // They have set up SMTP
1327
1327
  const smtpConfig = await getScopedFullConfig(db, {
1328
- type: Configs.SMTP,
1328
+ type: Config.SMTP,
1329
1329
  })
1330
1330
  &nbsp;
1331
1331
  // They have set up Google Auth
1332
1332
  const googleConfig = await getScopedFullConfig(db, {
1333
- type: Configs.GOOGLE,
1333
+ type: Config.GOOGLE,
1334
1334
  })
1335
1335
  &nbsp;
1336
1336
  // They have set up OIDC
1337
1337
  const oidcConfig = await getScopedFullConfig(db, {
1338
- type: Configs.OIDC,
1338
+ type: Config.OIDC,
1339
1339
  })
1340
1340
  &nbsp;
1341
1341
  // They have set up an global user
@@ -1375,7 +1375,7 @@ exports.configChecklist = async function (ctx) {
1375
1375
  <div class='footer quiet pad2 space-top1 center small'>
1376
1376
  Code coverage generated by
1377
1377
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1378
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
1378
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
1379
1379
  </div>
1380
1380
  <script src="../../../../prettify.js"></script>
1381
1381
  <script>
@@ -178,7 +178,7 @@ exports.sendEmail = async ctx =&gt; {
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
181
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  <script src="../../../../prettify.js"></script>
184
184
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">61.32% </span>
26
+ <span class="strong">61.27% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>425/693</span>
28
+ <span class='fraction'>424/692</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.27% </span>
47
+ <span class="strong">59.21% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>361/609</span>
49
+ <span class='fraction'>360/608</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
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.74" class="pic medium">
83
+ <td data-value="64.51" 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.74" class="pct medium">64.74%</td>
87
- <td data-value="156" class="abs medium">101/156</td>
86
+ <td data-value="64.51" class="pct medium">64.51%</td>
87
+ <td data-value="155" class="abs medium">100/155</td>
88
88
  <td data-value="36.36" class="pct low">36.36%</td>
89
89
  <td data-value="22" class="abs low">8/22</td>
90
90
  <td data-value="48.83" class="pct low">48.83%</td>
91
91
  <td data-value="43" class="abs low">21/43</td>
92
- <td data-value="61.78" class="pct medium">61.78%</td>
93
- <td data-value="123" class="abs medium">76/123</td>
92
+ <td data-value="61.47" class="pct medium">61.47%</td>
93
+ <td data-value="122" class="abs medium">75/122</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -221,7 +221,7 @@
221
221
  <div class='footer quiet pad2 space-top1 center small'>
222
222
  Code coverage generated by
223
223
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
224
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
224
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
225
225
  </div>
226
226
  <script src="../../../../prettify.js"></script>
227
227
  <script>
@@ -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 Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
175
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  <script src="../../../../prettify.js"></script>
178
178
  <script>
@@ -274,7 +274,7 @@ exports.removeAppRole = <span class="fstat-no" title="function not covered" >as<
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
277
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  <script src="../../../../prettify.js"></script>
280
280
  <script>
@@ -466,12 +466,12 @@ export async function <span class="fstat-no" title="function not covered" >fetch
466
466
  }
467
467
  &nbsp;
468
468
  const checkCurrentApp = (ctx: any) =&gt; {
469
- const appCookie = getCookie(ctx, constants.Cookies.CurrentApp)
469
+ const appCookie = getCookie(ctx, constants.Cookie.CurrentApp)
470
470
  <span class="missing-if-branch" title="if path not taken" >I</span>if (appCookie &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!tenancy.isUserInAppTenant(appCookie.appId))</span> {
471
471
  // there is a currentapp cookie from another tenant
472
472
  // remove the cookie as this is incompatible with the builder
473
473
  // due to builder and admin permissions being removed
474
- <span class="cstat-no" title="statement not covered" > clearCookie(ctx, constants.Cookies.CurrentApp)</span>
474
+ <span class="cstat-no" title="statement not covered" > clearCookie(ctx, constants.Cookie.CurrentApp)</span>
475
475
  }
476
476
  }
477
477
  &nbsp;
@@ -562,7 +562,7 @@ export async function updateSelf(ctx: any) {
562
562
  <div class='footer quiet pad2 space-top1 center small'>
563
563
  Code coverage generated by
564
564
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
565
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
565
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
566
566
  </div>
567
567
  <script src="../../../../prettify.js"></script>
568
568
  <script>
@@ -301,7 +301,7 @@ export async function <span class="fstat-no" title="function not covered" >destr
301
301
  <div class='footer quiet pad2 space-top1 center small'>
302
302
  Code coverage generated by
303
303
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
304
- at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
304
+ at Thu Nov 17 2022 16:59:05 GMT+0000 (Coordinated Universal Time)
305
305
  </div>
306
306
  <script src="../../../../prettify.js"></script>
307
307
  <script>