@budibase/worker 2.2.12-alpha.5 → 2.2.12-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +530 -554
- package/coverage/coverage-final.json +83 -81
- package/coverage/lcov-report/index.html +127 -127
- package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +33 -33
- package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/global/email.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/global/events.ts.html +136 -0
- package/coverage/lcov-report/src/api/controllers/global/index.html +67 -52
- package/coverage/lcov-report/src/api/controllers/global/license.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/self.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/users.ts.html +59 -20
- package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
- package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/system/status.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +3 -3
- package/coverage/lcov-report/src/api/index.html +1 -1
- package/coverage/lcov-report/src/api/index.ts.html +19 -7
- package/coverage/lcov-report/src/api/routes/global/auth.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/configs.ts.html +10 -10
- package/coverage/lcov-report/src/api/routes/global/email.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/events.ts.html +109 -0
- package/coverage/lcov-report/src/api/routes/global/index.html +37 -22
- package/coverage/lcov-report/src/api/routes/global/license.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/global/roles.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/self.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/templates.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/users.ts.html +48 -6
- package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/index.html +7 -7
- package/coverage/lcov-report/src/api/routes/index.ts.html +11 -5
- package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/environment.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
- package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/restore.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/status.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
- package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/validation/users.ts.html +3 -3
- package/coverage/lcov-report/src/constants/index.html +15 -15
- package/coverage/lcov-report/src/constants/index.ts.html +43 -43
- package/coverage/lcov-report/src/constants/templates/index.html +15 -15
- package/coverage/lcov-report/src/constants/templates/index.ts.html +14 -14
- package/coverage/lcov-report/src/db/index.html +3 -3
- package/coverage/lcov-report/src/db/index.ts.html +4 -4
- package/coverage/lcov-report/src/environment.ts.html +19 -19
- package/coverage/lcov-report/src/index.html +27 -27
- package/coverage/lcov-report/src/index.ts.html +19 -16
- package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +2 -2
- package/coverage/lcov-report/src/middleware/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
- package/coverage/lcov-report/src/migrations/index.html +15 -15
- package/coverage/lcov-report/src/migrations/index.ts.html +12 -12
- package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +9 -9
- package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
- package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/index.html +5 -5
- package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/users/events.ts.html +41 -17
- package/coverage/lcov-report/src/sdk/users/index.html +29 -29
- package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/users/users.ts.html +49 -43
- package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +26 -26
- package/coverage/lcov-report/src/tests/api/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/auth.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/base.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/configs.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/environment.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/index.html +42 -42
- package/coverage/lcov-report/src/tests/api/index.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/license.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/migrations.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/restore.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/roles.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/self.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/status.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/templates.ts.html +10 -10
- package/coverage/lcov-report/src/tests/api/tenants.ts.html +6 -6
- package/coverage/lcov-report/src/tests/api/users.ts.html +13 -10
- package/coverage/lcov-report/src/tests/controllers.ts.html +11 -11
- package/coverage/lcov-report/src/tests/index.html +34 -34
- package/coverage/lcov-report/src/tests/index.ts.html +15 -51
- package/coverage/lcov-report/src/tests/mocks/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/mocks/index.html +5 -5
- package/coverage/lcov-report/src/tests/mocks/index.ts.html +5 -5
- package/coverage/lcov-report/src/tests/structures/configs.ts.html +7 -7
- package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/structures/index.html +15 -15
- package/coverage/lcov-report/src/tests/structures/index.ts.html +10 -10
- package/coverage/lcov-report/src/tests/structures/users.ts.html +8 -8
- package/coverage/lcov-report/src/utilities/appService.ts.html +38 -11
- package/coverage/lcov-report/src/utilities/email.ts.html +17 -17
- package/coverage/lcov-report/src/utilities/fileSystem.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/index.html +27 -27
- package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/redis.ts.html +14 -14
- package/coverage/lcov-report/src/utilities/templates.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/users.ts.html +2 -2
- package/coverage/lcov.info +1691 -1668
- package/jest.config.ts +5 -2
- package/package.json +8 -6
- package/src/api/controllers/global/auth.ts +1 -1
- package/src/api/controllers/global/events.ts +17 -0
- package/src/api/controllers/global/users.ts +13 -0
- package/src/api/index.ts +4 -0
- package/src/api/routes/global/auth.ts +1 -1
- package/src/api/routes/global/configs.ts +7 -7
- package/src/api/routes/global/email.ts +1 -1
- package/src/api/routes/global/events.ts +8 -0
- package/src/api/routes/global/roles.ts +1 -1
- package/src/api/routes/global/self.ts +1 -1
- package/src/api/routes/global/templates.ts +1 -1
- package/src/api/routes/global/tests/templates.spec.ts +0 -8
- package/src/api/routes/global/users.ts +15 -1
- package/src/api/routes/global/workspaces.ts +1 -1
- package/src/api/routes/index.ts +2 -0
- package/src/api/routes/system/accounts.ts +1 -1
- package/src/api/routes/system/environment.ts +1 -1
- package/src/api/routes/system/migrations.ts +1 -1
- package/src/api/routes/system/restore.ts +1 -1
- package/src/api/routes/system/status.ts +1 -1
- package/src/api/routes/system/tenants.ts +1 -1
- package/src/api/routes/system/tests/environment.spec.ts +1 -1
- package/src/db/index.ts +1 -1
- package/src/environment.ts +1 -1
- package/src/index.ts +4 -3
- package/src/middleware/cloudRestricted.ts +1 -1
- package/src/sdk/users/events.ts +8 -0
- package/src/sdk/users/users.ts +5 -3
- package/src/tests/TestConfiguration.ts +2 -2
- package/src/tests/api/users.ts +2 -1
- package/src/tests/index.ts +6 -18
- package/src/tests/jestEnv.ts +11 -0
- package/src/tests/jestSetup.ts +0 -14
- package/src/tests/mocks/index.ts +1 -1
- package/src/tests/structures/index.ts +4 -4
- package/src/utilities/appService.ts +12 -3
- package/tsconfig.json +2 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">64.
|
|
26
|
+
<span class="strong">64.17% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>86/134</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">27.77% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>5/18</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">61.53% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>24/39</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">60.5% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>72/119</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -343,8 +343,7 @@
|
|
|
343
343
|
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
344
|
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
345
|
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
348
347
|
<span class="cline-any cline-neutral"> </span>
|
|
349
348
|
<span class="cline-any cline-neutral"> </span>
|
|
350
349
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -359,16 +358,17 @@
|
|
|
359
358
|
<span class="cline-any cline-yes">18x</span>
|
|
360
359
|
<span class="cline-any cline-yes">18x</span>
|
|
361
360
|
<span class="cline-any cline-yes">18x</span>
|
|
361
|
+
<span class="cline-any cline-yes">18x</span>
|
|
362
362
|
<span class="cline-any cline-neutral"> </span>
|
|
363
363
|
<span class="cline-any cline-yes">18x</span>
|
|
364
364
|
<span class="cline-any cline-yes">18x</span>
|
|
365
365
|
<span class="cline-any cline-yes">18x</span>
|
|
366
366
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-
|
|
367
|
+
<span class="cline-any cline-no"> </span>
|
|
368
368
|
<span class="cline-any cline-no"> </span>
|
|
369
369
|
<span class="cline-any cline-neutral"> </span>
|
|
370
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
371
|
+
<span class="cline-any cline-no"> </span>
|
|
372
372
|
<span class="cline-any cline-yes">3x</span>
|
|
373
373
|
<span class="cline-any cline-neutral"> </span>
|
|
374
374
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -396,7 +396,7 @@
|
|
|
396
396
|
<span class="cline-any cline-yes">18x</span>
|
|
397
397
|
<span class="cline-any cline-no"> </span>
|
|
398
398
|
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
400
|
<span class="cline-any cline-no"> </span>
|
|
401
401
|
<span class="cline-any cline-no"> </span>
|
|
402
402
|
<span class="cline-any cline-no"> </span>
|
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
<span class="cline-any cline-no"> </span>
|
|
501
501
|
<span class="cline-any cline-neutral"> </span>
|
|
502
502
|
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-yes">
|
|
503
|
+
<span class="cline-any cline-yes">36x</span>
|
|
504
504
|
<span class="cline-any cline-no"> </span>
|
|
505
505
|
<span class="cline-any cline-no"> </span>
|
|
506
506
|
<span class="cline-any cline-no"> </span>
|
|
@@ -533,7 +533,7 @@
|
|
|
533
533
|
<span class="cline-any cline-neutral"> </span>
|
|
534
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
535
|
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-yes">
|
|
536
|
+
<span class="cline-any cline-yes">54x</span>
|
|
537
537
|
<span class="cline-any cline-no"> </span>
|
|
538
538
|
<span class="cline-any cline-neutral"> </span>
|
|
539
539
|
<span class="cline-any cline-no"> </span>
|
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
<span class="cline-any cline-no"> </span>
|
|
551
551
|
<span class="cline-any cline-neutral"> </span>
|
|
552
552
|
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-
|
|
553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
554
554
|
<span class="cline-any cline-no"> </span>
|
|
555
555
|
<span class="cline-any cline-no"> </span>
|
|
556
556
|
<span class="cline-any cline-no"> </span>
|
|
@@ -607,14 +607,14 @@
|
|
|
607
607
|
<span class="cline-any cline-neutral"> </span>
|
|
608
608
|
<span class="cline-any cline-neutral"> </span>
|
|
609
609
|
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">
|
|
610
|
+
<span class="cline-any cline-yes">54x</span>
|
|
611
611
|
<span class="cline-any cline-yes">1x</span>
|
|
612
612
|
<span class="cline-any cline-yes">1x</span>
|
|
613
613
|
<span class="cline-any cline-neutral"> </span>
|
|
614
614
|
<span class="cline-any cline-yes">1x</span>
|
|
615
615
|
<span class="cline-any cline-neutral"> </span>
|
|
616
616
|
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
618
|
<span class="cline-any cline-yes">1x</span>
|
|
619
619
|
<span class="cline-any cline-yes">1x</span>
|
|
620
620
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -638,17 +638,17 @@ import { isEmailConfigured, sendEmail } from "../../../utilities/email"
|
|
|
638
638
|
import { checkResetPasswordCode } from "../../../utilities/redis"
|
|
639
639
|
import env from "../../../environment"
|
|
640
640
|
import sdk from "../../../sdk"
|
|
641
|
-
import {
|
|
641
|
+
import { ConfigType, User } from "@budibase/types"
|
|
642
642
|
|
|
643
643
|
const { setCookie, getCookie, clearCookie, hash, platformLogout } = utils
|
|
644
644
|
const { Cookie, Header } = constants
|
|
645
645
|
const { passport, ssoCallbackUrl, google, oidc } = auth
|
|
646
646
|
|
|
647
|
-
export async function <span class="fstat-no" title="function not covered" >googleCallbackUrl(</span>
|
|
647
|
+
export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >googleCallbackUrl<span class="fstat-no" title="function not covered" >(</span></span>c</span>onfig?: { callbackURL?: string }) {
|
|
648
648
|
<span class="cstat-no" title="statement not covered" > return ssoCallbackUrl(tenancy.getGlobalDB(), config, ConfigType.GOOGLE)</span>
|
|
649
649
|
}
|
|
650
650
|
|
|
651
|
-
export async function oidcCallbackUrl(
|
|
651
|
+
export async function <span class="cstat-no" title="statement not covered" >oidcCallbackUrl<span class="fstat-no" title="function not covered" >(</span>c</span>onfig?: { callbackURL?: string }) {
|
|
652
652
|
return ssoCallbackUrl(tenancy.getGlobalDB(), config, ConfigType.OIDC)
|
|
653
653
|
}
|
|
654
654
|
|
|
@@ -673,12 +673,12 @@ async function authInternal(ctx: any, user: any, err = <span class="branch-0 cbr
|
|
|
673
673
|
}
|
|
674
674
|
}
|
|
675
675
|
|
|
676
|
-
export const authenticate = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =>
|
|
676
|
+
export const authenticate = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) => {
|
|
677
677
|
<span class="cstat-no" title="statement not covered" > return passport.authenticate(</span>
|
|
678
678
|
"local",
|
|
679
|
-
<span class="fstat-no" title="function not covered" > async (e</span>rr: any, user: User, info: any) =>
|
|
679
|
+
<span class="fstat-no" title="function not covered" > async (e</span>rr: any, user: User, info: any) => {
|
|
680
680
|
<span class="cstat-no" title="statement not covered" > await authInternal(ctx, user, err, info)</span>
|
|
681
|
-
<span class="cstat-no" title="statement not covered" > await context.identity.doInUserContext(user, <span class="fstat-no" title="function not covered" >async ()
|
|
681
|
+
<span class="cstat-no" title="statement not covered" > await context.identity.doInUserContext(user, <span class="fstat-no" title="function not covered" >async () => {</span></span>
|
|
682
682
|
<span class="cstat-no" title="statement not covered" > await events.auth.login("local")</span>
|
|
683
683
|
})
|
|
684
684
|
<span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
|
|
@@ -762,7 +762,7 @@ export const logout = async (ctx: any) => {
|
|
|
762
762
|
ctx.body = { message: "User logged out." }
|
|
763
763
|
}
|
|
764
764
|
|
|
765
|
-
export const datasourcePreAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =>
|
|
765
|
+
export const datasourcePreAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) => {
|
|
766
766
|
const provider = <span class="cstat-no" title="statement not covered" >ctx.params.provider</span>
|
|
767
767
|
const { middleware } = <span class="cstat-no" title="statement not covered" >require(`@budibase/backend-core`)</span>
|
|
768
768
|
const handler = <span class="cstat-no" title="statement not covered" >middleware.datasource[provider]</span>
|
|
@@ -780,7 +780,7 @@ export const datasourcePreAuth = <span class="fstat-no" title="function not cove
|
|
|
780
780
|
<span class="cstat-no" title="statement not covered" > return handler.preAuth(passport, ctx, next)</span>
|
|
781
781
|
}
|
|
782
782
|
|
|
783
|
-
export const datasourceAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =>
|
|
783
|
+
export const datasourceAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) => {
|
|
784
784
|
const authStateCookie = <span class="cstat-no" title="statement not covered" >getCookie(ctx, Cookie.DatasourceAuth)</span>
|
|
785
785
|
const provider = <span class="cstat-no" title="statement not covered" >authStateCookie.provider</span>
|
|
786
786
|
const { middleware } = <span class="cstat-no" title="statement not covered" >require(`@budibase/backend-core`)</span>
|
|
@@ -792,7 +792,7 @@ export const datasourceAuth = <span class="fstat-no" title="function not covered
|
|
|
792
792
|
* The initial call that google authentication makes to take you to the google login screen.
|
|
793
793
|
* On a successful login, you will be redirected to the googleAuth callback route.
|
|
794
794
|
*/
|
|
795
|
-
export const googlePreAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =>
|
|
795
|
+
export const googlePreAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) => {
|
|
796
796
|
const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
|
|
797
797
|
|
|
798
798
|
const config = <span class="cstat-no" title="statement not covered" >await dbCore.getScopedConfig(db, {</span>
|
|
@@ -813,7 +813,7 @@ export const googlePreAuth = <span class="fstat-no" title="function not covered"
|
|
|
813
813
|
})(ctx, next)
|
|
814
814
|
}
|
|
815
815
|
|
|
816
|
-
export const googleAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) =>
|
|
816
|
+
export const googleAuth = <span class="fstat-no" title="function not covered" >async (c</span>tx: any, next: any) => {
|
|
817
817
|
const db = <span class="cstat-no" title="statement not covered" >tenancy.getGlobalDB()</span>
|
|
818
818
|
|
|
819
819
|
const config = <span class="cstat-no" title="statement not covered" >await dbCore.getScopedConfig(db, {</span>
|
|
@@ -830,9 +830,9 @@ export const googleAuth = <span class="fstat-no" title="function not covered" >a
|
|
|
830
830
|
<span class="cstat-no" title="statement not covered" > return passport.authenticate(</span>
|
|
831
831
|
strategy,
|
|
832
832
|
{ successRedirect: "/", failureRedirect: "/error" },
|
|
833
|
-
<span class="fstat-no" title="function not covered" > async (e</span>rr: any, user: User, info: any) =>
|
|
833
|
+
<span class="fstat-no" title="function not covered" > async (e</span>rr: any, user: User, info: any) => {
|
|
834
834
|
<span class="cstat-no" title="statement not covered" > await authInternal(ctx, user, err, info)</span>
|
|
835
|
-
<span class="cstat-no" title="statement not covered" > await context.identity.doInUserContext(user, <span class="fstat-no" title="function not covered" >async ()
|
|
835
|
+
<span class="cstat-no" title="statement not covered" > await context.identity.doInUserContext(user, <span class="fstat-no" title="function not covered" >async () => {</span></span>
|
|
836
836
|
<span class="cstat-no" title="statement not covered" > await events.auth.login("google-internal")</span>
|
|
837
837
|
})
|
|
838
838
|
<span class="cstat-no" title="statement not covered" > ctx.redirect("/")</span>
|
|
@@ -840,7 +840,7 @@ export const googleAuth = <span class="fstat-no" title="function not covered" >a
|
|
|
840
840
|
)(ctx, next)
|
|
841
841
|
}
|
|
842
842
|
|
|
843
|
-
export const oidcStrategyFactory =
|
|
843
|
+
export const <span class="cstat-no" title="statement not covered" >oidcStrategyFactory<span class="fstat-no" title="function not covered" > </span>= a</span>sync (ctx: any, configId: any) => {
|
|
844
844
|
const db = tenancy.getGlobalDB()
|
|
845
845
|
const config = await dbCore.getScopedConfig(db, {
|
|
846
846
|
type: ConfigType.OIDC,
|
|
@@ -877,7 +877,7 @@ export const oidcPreAuth = async (ctx: any, next: any) => {
|
|
|
877
877
|
const chosenConfig = config.configs.filter((c: any) => c.uuid === configId)[0]
|
|
878
878
|
|
|
879
879
|
let authScopes =
|
|
880
|
-
chosenConfig.scopes
|
|
880
|
+
chosenConfig.scopes?.length > 0
|
|
881
881
|
? <span class="branch-0 cbranch-no" title="branch not covered" >chosenConfig.scopes</span>
|
|
882
882
|
: ["profile", "email", "offline_access"]
|
|
883
883
|
|
|
@@ -910,7 +910,7 @@ export const oidcAuth = async (ctx: any, next: any) => {
|
|
|
910
910
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
911
911
|
Code coverage generated by
|
|
912
912
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
913
|
-
at Tue Jan
|
|
913
|
+
at Tue Jan 31 2023 16:52:30 GMT+0000 (Coordinated Universal Time)
|
|
914
914
|
</div>
|
|
915
915
|
<script src="../../../../prettify.js"></script>
|
|
916
916
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">67.97% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>121/178</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">70% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>63/
|
|
35
|
+
<span class='fraction'>63/90</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">77.41% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>24/31</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">66.86% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>111/166</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -487,7 +487,6 @@
|
|
|
487
487
|
<a name='L422'></a><a href='#L422'>422</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
|
|
488
488
|
<span class="cline-any cline-yes">18x</span>
|
|
489
489
|
<span class="cline-any cline-yes">18x</span>
|
|
490
|
-
<span class="cline-any cline-yes">18x</span>
|
|
491
490
|
<span class="cline-any cline-neutral"> </span>
|
|
492
491
|
<span class="cline-any cline-neutral"> </span>
|
|
493
492
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -511,8 +510,9 @@
|
|
|
511
510
|
<span class="cline-any cline-neutral"> </span>
|
|
512
511
|
<span class="cline-any cline-neutral"> </span>
|
|
513
512
|
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-yes">18x</span>
|
|
514
514
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-yes">
|
|
515
|
+
<span class="cline-any cline-yes">18x</span>
|
|
516
516
|
<span class="cline-any cline-yes">41x</span>
|
|
517
517
|
<span class="cline-any cline-neutral"> </span>
|
|
518
518
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -611,7 +611,7 @@
|
|
|
611
611
|
<span class="cline-any cline-yes">41x</span>
|
|
612
612
|
<span class="cline-any cline-neutral"> </span>
|
|
613
613
|
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">
|
|
614
|
+
<span class="cline-any cline-yes">40x</span>
|
|
615
615
|
<span class="cline-any cline-yes">41x</span>
|
|
616
616
|
<span class="cline-any cline-yes">41x</span>
|
|
617
617
|
<span class="cline-any cline-yes">41x</span>
|
|
@@ -653,7 +653,7 @@
|
|
|
653
653
|
<span class="cline-any cline-neutral"> </span>
|
|
654
654
|
<span class="cline-any cline-neutral"> </span>
|
|
655
655
|
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-yes">
|
|
656
|
+
<span class="cline-any cline-yes">36x</span>
|
|
657
657
|
<span class="cline-any cline-no"> </span>
|
|
658
658
|
<span class="cline-any cline-no"> </span>
|
|
659
659
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -670,7 +670,7 @@
|
|
|
670
670
|
<span class="cline-any cline-neutral"> </span>
|
|
671
671
|
<span class="cline-any cline-neutral"> </span>
|
|
672
672
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">
|
|
673
|
+
<span class="cline-any cline-yes">54x</span>
|
|
674
674
|
<span class="cline-any cline-yes">36x</span>
|
|
675
675
|
<span class="cline-any cline-neutral"> </span>
|
|
676
676
|
<span class="cline-any cline-yes">36x</span>
|
|
@@ -833,7 +833,7 @@
|
|
|
833
833
|
<span class="cline-any cline-neutral"> </span>
|
|
834
834
|
<span class="cline-any cline-neutral"> </span>
|
|
835
835
|
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-yes">
|
|
836
|
+
<span class="cline-any cline-yes">54x</span>
|
|
837
837
|
<span class="cline-any cline-yes">36x</span>
|
|
838
838
|
<span class="cline-any cline-yes">36x</span>
|
|
839
839
|
<span class="cline-any cline-yes">36x</span>
|
|
@@ -853,7 +853,7 @@
|
|
|
853
853
|
<span class="cline-any cline-yes">4x</span>
|
|
854
854
|
<span class="cline-any cline-neutral"> </span>
|
|
855
855
|
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-
|
|
856
|
+
<span class="cline-any cline-neutral"> </span>
|
|
857
857
|
<span class="cline-any cline-yes">4x</span>
|
|
858
858
|
<span class="cline-any cline-yes">4x</span>
|
|
859
859
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1084,7 +1084,7 @@ export async function <span class="fstat-no" title="function not covered" >fetch
|
|
|
1084
1084
|
}
|
|
1085
1085
|
)
|
|
1086
1086
|
)
|
|
1087
|
-
<span class="cstat-no" title="statement not covered" > ctx.body = response.rows.map(<span class="fstat-no" title="function not covered" >row
|
|
1087
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = response.rows.map(<span class="fstat-no" title="function not covered" >row => <span class="cstat-no" title="statement not covered" >r</span>ow.doc)</span></span>
|
|
1088
1088
|
}
|
|
1089
1089
|
|
|
1090
1090
|
/**
|
|
@@ -1095,7 +1095,7 @@ export async function find(ctx: UserCtx) {
|
|
|
1095
1095
|
const db = tenancy.getGlobalDB()
|
|
1096
1096
|
|
|
1097
1097
|
const { userId, workspaceId } = ctx.query
|
|
1098
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (workspaceId && <span class="branch-1 cbranch-no" title="branch not covered" >userId)</span>
|
|
1098
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (workspaceId && <span class="branch-1 cbranch-no" title="branch not covered" >userId) {</span>
|
|
1099
1099
|
const workspace = <span class="cstat-no" title="statement not covered" >await db.get(workspaceId as string)</span>
|
|
1100
1100
|
const userInWorkspace = <span class="cstat-no" title="statement not covered" >workspace.users.some(</span>
|
|
1101
1101
|
<span class="fstat-no" title="function not covered" > (w</span>orkspaceUser: any) => <span class="cstat-no" title="statement not covered" >workspaceUser === userId</span>
|
|
@@ -1135,7 +1135,7 @@ export async function <span class="fstat-no" title="function not covered" >publi
|
|
|
1135
1135
|
<span class="cstat-no" title="statement not covered" > if (!oidcConfig) {</span>
|
|
1136
1136
|
<span class="cstat-no" title="statement not covered" > ctx.body = {}</span>
|
|
1137
1137
|
} else {
|
|
1138
|
-
<span class="cstat-no" title="statement not covered" > ctx.body = oidcConfig.config.configs.map(<span class="fstat-no" title="function not covered" >config
|
|
1138
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = oidcConfig.config.configs.map(<span class="fstat-no" title="function not covered" >config => (<span class="cstat-no" title="statement not covered" >{</span></span></span>
|
|
1139
1139
|
logo: config.logo,
|
|
1140
1140
|
name: config.name,
|
|
1141
1141
|
uuid: config.uuid,
|
|
@@ -1212,7 +1212,7 @@ export async function <span class="fstat-no" title="function not covered" >uploa
|
|
|
1212
1212
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.files == null || Array.isArray(ctx.request.files.file)) {</span>
|
|
1213
1213
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "One file must be uploaded.")</span>
|
|
1214
1214
|
}
|
|
1215
|
-
const file = <span class="cstat-no" title="statement not covered" >ctx.request.files.file as any
|
|
1215
|
+
const file = <span class="cstat-no" title="statement not covered" >ctx.request.files.file </span>as any
|
|
1216
1216
|
const { type, name } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
|
|
1217
1217
|
|
|
1218
1218
|
let bucket = <span class="cstat-no" title="statement not covered" >coreEnv.GLOBAL_BUCKET_NAME</span>
|
|
@@ -1333,7 +1333,7 @@ export async function configChecklist(ctx: Ctx) {
|
|
|
1333
1333
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1334
1334
|
Code coverage generated by
|
|
1335
1335
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1336
|
-
at Tue Jan
|
|
1336
|
+
at Tue Jan 31 2023 16:52:30 GMT+0000 (Coordinated Universal Time)
|
|
1337
1337
|
</div>
|
|
1338
1338
|
<script src="../../../../prettify.js"></script>
|
|
1339
1339
|
<script>
|
|
@@ -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 Tue Jan
|
|
184
|
+
at Tue Jan 31 2023 16:52:30 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"> </span>
|
|
84
|
+
<span class="cline-any cline-neutral"> </span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
|
90
|
+
<span class="cline-any cline-yes">18x</span>
|
|
91
|
+
<span class="cline-any cline-no"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-no"> </span>
|
|
94
|
+
<span class="cline-any cline-no"> </span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-no"> </span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-no"> </span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </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
|
+
|
|
107
|
+
export async function publish(ctx: UserCtx<PostEventPublishRequest, void>) {
|
|
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
|
+
</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 Tue Jan 31 2023 16:52:30 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
|
+
|