@passlock/client 0.9.19 → 0.9.21
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/dist/authentication/authenticate.d.ts +5 -4
- package/dist/authentication/authenticate.d.ts.map +1 -1
- package/dist/authentication/authenticate.fixture.d.ts +3 -4
- package/dist/authentication/authenticate.fixture.d.ts.map +1 -1
- package/dist/authentication/authenticate.fixture.js +2 -11
- package/dist/authentication/authenticate.fixture.js.map +1 -1
- package/dist/authentication/authenticate.js +4 -4
- package/dist/authentication/authenticate.js.map +1 -1
- package/dist/authentication/authenticate.test.js +5 -5
- package/dist/authentication/authenticate.test.js.map +1 -1
- package/dist/connection/connection.d.ts +4 -3
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.fixture.d.ts +3 -5
- package/dist/connection/connection.fixture.d.ts.map +1 -1
- package/dist/connection/connection.fixture.js +3 -15
- package/dist/connection/connection.fixture.js.map +1 -1
- package/dist/connection/connection.js +3 -3
- package/dist/connection/connection.js.map +1 -1
- package/dist/connection/connection.test.js +6 -5
- package/dist/connection/connection.test.js.map +1 -1
- package/dist/effect.d.ts +1 -1
- package/dist/effect.d.ts.map +1 -1
- package/dist/effect.js +17 -8
- package/dist/effect.js.map +1 -1
- package/dist/email/email.d.ts +4 -4
- package/dist/email/email.d.ts.map +1 -1
- package/dist/email/email.fixture.d.ts +2 -3
- package/dist/email/email.fixture.d.ts.map +1 -1
- package/dist/email/email.fixture.js +2 -10
- package/dist/email/email.fixture.js.map +1 -1
- package/dist/email/email.js +2 -3
- package/dist/email/email.js.map +1 -1
- package/dist/email/email.test.js +5 -5
- package/dist/email/email.test.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/eventLogger.d.ts.map +1 -1
- package/dist/logging/eventLogger.js +15 -9
- package/dist/logging/eventLogger.js.map +1 -1
- package/dist/logging/eventLogger.test.js.map +1 -1
- package/dist/registration/register.d.ts +6 -4
- package/dist/registration/register.d.ts.map +1 -1
- package/dist/registration/register.fixture.d.ts +3 -4
- package/dist/registration/register.fixture.d.ts.map +1 -1
- package/dist/registration/register.fixture.js +2 -12
- package/dist/registration/register.fixture.js.map +1 -1
- package/dist/registration/register.js +5 -4
- package/dist/registration/register.js.map +1 -1
- package/dist/registration/register.test.js +6 -6
- package/dist/registration/register.test.js.map +1 -1
- package/dist/rpc/authentication.d.ts +9 -0
- package/dist/rpc/authentication.d.ts.map +1 -0
- package/dist/rpc/authentication.js +15 -0
- package/dist/rpc/authentication.js.map +1 -0
- package/dist/rpc/client.d.ts +27 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js +92 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/config.d.ts +16 -0
- package/dist/rpc/config.d.ts.map +1 -0
- package/dist/rpc/config.js +6 -0
- package/dist/rpc/config.js.map +1 -0
- package/dist/rpc/connection.d.ts +9 -0
- package/dist/rpc/connection.d.ts.map +1 -0
- package/dist/rpc/connection.js +14 -0
- package/dist/rpc/connection.js.map +1 -0
- package/dist/rpc/registration.d.ts +9 -0
- package/dist/rpc/registration.d.ts.map +1 -0
- package/dist/rpc/registration.js +15 -0
- package/dist/rpc/registration.js.map +1 -0
- package/dist/rpc/social.d.ts +11 -0
- package/dist/rpc/social.d.ts.map +1 -0
- package/dist/rpc/social.js +17 -0
- package/dist/rpc/social.js.map +1 -0
- package/dist/rpc/user.d.ts +9 -0
- package/dist/rpc/user.d.ts.map +1 -0
- package/dist/rpc/user.js +18 -0
- package/dist/rpc/user.js.map +1 -0
- package/dist/social/social.d.ts +4 -4
- package/dist/social/social.d.ts.map +1 -1
- package/dist/social/social.fixture.d.ts +1 -2
- package/dist/social/social.fixture.d.ts.map +1 -1
- package/dist/social/social.fixture.js +5 -14
- package/dist/social/social.fixture.js.map +1 -1
- package/dist/social/social.js +6 -6
- package/dist/social/social.js.map +1 -1
- package/dist/social/social.test.js +9 -9
- package/dist/social/social.test.js.map +1 -1
- package/dist/storage/storage.d.ts +1 -1
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/test/fixtures.d.ts +1 -3
- package/dist/test/fixtures.d.ts.map +1 -1
- package/dist/test/fixtures.js +0 -2
- package/dist/test/fixtures.js.map +1 -1
- package/dist/user/user.d.ts +4 -4
- package/dist/user/user.d.ts.map +1 -1
- package/dist/user/user.fixture.d.ts +2 -3
- package/dist/user/user.fixture.d.ts.map +1 -1
- package/dist/user/user.fixture.js +2 -10
- package/dist/user/user.fixture.js.map +1 -1
- package/dist/user/user.js +3 -4
- package/dist/user/user.js.map +1 -1
- package/dist/user/user.test.js +5 -5
- package/dist/user/user.test.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +10 -11
- package/src/authentication/authenticate.fixture.ts +8 -16
- package/src/authentication/authenticate.test.ts +7 -7
- package/src/authentication/authenticate.ts +13 -14
- package/src/connection/connection.fixture.ts +4 -16
- package/src/connection/connection.test.ts +7 -6
- package/src/connection/connection.ts +5 -5
- package/src/effect.ts +20 -14
- package/src/email/email.fixture.ts +3 -11
- package/src/email/email.test.ts +7 -7
- package/src/email/email.ts +5 -6
- package/src/index.ts +5 -2
- package/src/logging/eventLogger.test.ts +1 -0
- package/src/logging/eventLogger.ts +16 -10
- package/src/registration/register.fixture.ts +9 -18
- package/src/registration/register.test.ts +9 -9
- package/src/registration/register.ts +12 -13
- package/src/social/social.fixture.ts +7 -16
- package/src/social/social.test.ts +15 -15
- package/src/social/social.ts +9 -9
- package/src/storage/storage.ts +1 -1
- package/src/test/fixtures.ts +1 -3
- package/src/user/user.fixture.ts +3 -11
- package/src/user/user.test.ts +7 -7
- package/src/user/user.ts +6 -7
- package/README.md +0 -116
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { InternalBrowserError, type NotSupported } from '@passlock/shared/dist/error/error.js';
|
|
2
2
|
import type { OptionsErrors, VerificationErrors } from '@passlock/shared/dist/rpc/authentication.js';
|
|
3
|
-
import {
|
|
4
|
-
import type { AuthenticationCredential,
|
|
3
|
+
import { AuthenticationClient } from '@passlock/shared/dist/rpc/authentication.js';
|
|
4
|
+
import type { AuthenticationCredential, UserVerification } from '@passlock/shared/dist/schema/passkey.js';
|
|
5
|
+
import { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
5
6
|
import { Context, Effect as E, Layer } from 'effect';
|
|
6
7
|
import { Capabilities } from '../capabilities/capabilities.js';
|
|
7
8
|
import { StorageService } from '../storage/storage.js';
|
|
@@ -16,8 +17,8 @@ export type AuthenticationService = {
|
|
|
16
17
|
authenticatePasskey: (request: AuthenticationRequest) => E.Effect<Principal, AuthenticationErrors>;
|
|
17
18
|
};
|
|
18
19
|
export declare const AuthenticationService: Context.Tag<AuthenticationService, AuthenticationService>;
|
|
19
|
-
type Dependencies = GetCredential | Capabilities | StorageService |
|
|
20
|
+
type Dependencies = GetCredential | Capabilities | StorageService | AuthenticationClient;
|
|
20
21
|
export declare const authenticatePasskey: (request: AuthenticationRequest) => E.Effect<Principal, AuthenticationErrors, Dependencies>;
|
|
21
|
-
export declare const AuthenticateServiceLive: Layer.Layer<AuthenticationService, never, Capabilities | StorageService | GetCredential |
|
|
22
|
+
export declare const AuthenticateServiceLive: Layer.Layer<AuthenticationService, never, Capabilities | StorageService | GetCredential | AuthenticationClient>;
|
|
22
23
|
export {};
|
|
23
24
|
//# sourceMappingURL=authenticate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AACpG,OAAO,EAAE,oBAAoB,EAA+B,MAAM,6CAA6C,CAAA;AAC/G,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAc,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC,CAAA;AAID,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAA;AAIpF,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,wBAAwB,KAC9B,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA;AAE7D,eAAO,MAAM,aAAa,2CAAqD,CAAA;AAI/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;CACnG,CAAA;AAED,eAAO,MAAM,qBAAqB,2DAEjC,CAAA;AA4CD,KAAK,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,oBAAoB,CAAA;AAExF,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAgCxD,CAAA;AAKD,eAAO,MAAM,uBAAuB,iHASnC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { OptionsRes, VerificationReq, VerificationRes } from '@passlock/shared/dist/rpc/authentication.js';
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
1
|
+
import { AuthenticationClient, OptionsRes, VerificationReq, VerificationRes } from '@passlock/shared/dist/rpc/authentication.js';
|
|
3
2
|
import { IsExistingUserRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
4
|
-
import type { AuthenticationCredential } from '@passlock/shared/dist/schema/
|
|
3
|
+
import type { AuthenticationCredential } from '@passlock/shared/dist/schema/passkey.js';
|
|
5
4
|
import { Layer as L } from 'effect';
|
|
6
5
|
import { GetCredential, type AuthenticationRequest } from './authenticate.js';
|
|
7
6
|
export declare const session = "session";
|
|
@@ -17,7 +16,7 @@ export declare const rpcVerificationRes: VerificationRes;
|
|
|
17
16
|
export declare const rpcIsExistingUserRes: IsExistingUserRes;
|
|
18
17
|
export declare const rpcVerifyEmailRes: VerifyEmailRes;
|
|
19
18
|
export declare const getCredentialTest: L.Layer<GetCredential, never, never>;
|
|
20
|
-
export declare const rpcClientTest: L.Layer<
|
|
19
|
+
export declare const rpcClientTest: L.Layer<AuthenticationClient, never, never>;
|
|
21
20
|
export declare const principal: {
|
|
22
21
|
readonly token: string;
|
|
23
22
|
readonly user: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.fixture.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticate.fixture.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,eAAO,MAAM,OAAO,YAAY,CAAA;AAChC,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,OAAO,EAAE,qBAErB,CAAA;AAED,eAAO,MAAM,aAAa,YAQxB,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,wBAYxB,CAAA;AAED,eAAO,MAAM,kBAAkB,iBAA+C,CAAA;AAE9E,eAAO,MAAM,kBAAkB,iBAAyD,CAAA;AAExF,eAAO,MAAM,oBAAoB,mBAAgD,CAAA;AAEjF,eAAO,MAAM,iBAAiB,gBAAwD,CAAA;AAEtF,eAAO,MAAM,iBAAiB,sCAG7B,CAAA;AAED,eAAO,MAAM,aAAa,6CAMzB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAC3C,eAAO,MAAM,gBAAgB,+EAA4B,CAAA;AACzD,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { OptionsRes, VerificationReq, VerificationRes, } from '@passlock/shared/dist/rpc/authentication.js';
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
1
|
+
import { AuthenticationClient, OptionsRes, VerificationReq, VerificationRes, } from '@passlock/shared/dist/rpc/authentication.js';
|
|
3
2
|
import { IsExistingUserRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
4
3
|
import { Effect as E, Layer as L } from 'effect';
|
|
5
4
|
import * as Fixtures from '../test/fixtures.js';
|
|
@@ -39,17 +38,9 @@ export const rpcVerificationRes = new VerificationRes({ principal: Fixtures.prin
|
|
|
39
38
|
export const rpcIsExistingUserRes = new IsExistingUserRes({ existingUser: true });
|
|
40
39
|
export const rpcVerifyEmailRes = new VerifyEmailRes({ principal: Fixtures.principal });
|
|
41
40
|
export const getCredentialTest = L.succeed(GetCredential, GetCredential.of(() => E.succeed(credential)));
|
|
42
|
-
export const rpcClientTest = L.succeed(
|
|
43
|
-
preConnect: () => E.succeed(Fixtures.preConnectRes),
|
|
44
|
-
isExistingUser: () => E.succeed(rpcIsExistingUserRes),
|
|
45
|
-
verifyEmail: () => E.succeed(rpcVerifyEmailRes),
|
|
46
|
-
getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
|
|
47
|
-
verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
|
|
41
|
+
export const rpcClientTest = L.succeed(AuthenticationClient, AuthenticationClient.of({
|
|
48
42
|
getAuthenticationOptions: () => E.succeed(rpcOptionsRes),
|
|
49
43
|
verifyAuthenticationCredential: () => E.succeed(rpcVerificationRes),
|
|
50
|
-
registerOidc: () => E.fail(Fixtures.notImplemented),
|
|
51
|
-
authenticateOidc: () => E.fail(Fixtures.notImplemented),
|
|
52
|
-
resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
|
|
53
44
|
}));
|
|
54
45
|
export const principal = Fixtures.principal;
|
|
55
46
|
export const capabilitiesTest = Fixtures.capabilitiesTest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.fixture.js","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticate.fixture.js","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAErF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAA;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAChC,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAA;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAE1C,MAAM,CAAC,MAAM,OAAO,GAA0B;IAC5C,gBAAgB,EAAE,WAAW;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC;IAC1C,OAAO;IACP,SAAS,EAAE;QACT,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,6CAA6C;QACxD,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,WAAW;KAC9B;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,iBAAiB,EAAE,EAAE;QACrB,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,IAAI;KACjB;IACD,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,IAAI;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CACxC,aAAa,EACb,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,oBAAoB,EACpB,oBAAoB,CAAC,EAAE,CAAC;IACtB,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxD,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;CACpE,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseRequestOptionsFromJSON, } from '@github/webauthn-json/browser-ponyfill';
|
|
2
2
|
import { InternalBrowserError, } from '@passlock/shared/dist/error/error.js';
|
|
3
|
-
import { OptionsReq, VerificationReq } from '@passlock/shared/dist/rpc/authentication.js';
|
|
4
|
-
import {
|
|
3
|
+
import { AuthenticationClient, OptionsReq, VerificationReq } from '@passlock/shared/dist/rpc/authentication.js';
|
|
4
|
+
import { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
5
5
|
import { Context, Effect as E, Layer, flow, pipe } from 'effect';
|
|
6
6
|
import { Capabilities } from '../capabilities/capabilities.js';
|
|
7
7
|
import { StorageService } from '../storage/storage.js';
|
|
@@ -10,7 +10,7 @@ export const AuthenticationService = Context.GenericTag('@services/Authenticatio
|
|
|
10
10
|
const fetchOptions = (request) => {
|
|
11
11
|
return E.gen(function* (_) {
|
|
12
12
|
yield* _(E.logDebug('Making request'));
|
|
13
|
-
const rpcClient = yield* _(
|
|
13
|
+
const rpcClient = yield* _(AuthenticationClient);
|
|
14
14
|
const { publicKey, session } = yield* _(rpcClient.getAuthenticationOptions(request));
|
|
15
15
|
yield* _(E.logDebug('Converting Passlock options to CredentialRequestOptions'));
|
|
16
16
|
const options = yield* _(toRequestOptions({ publicKey }));
|
|
@@ -26,7 +26,7 @@ const toRequestOptions = (request) => {
|
|
|
26
26
|
const verifyCredential = (request) => {
|
|
27
27
|
return E.gen(function* (_) {
|
|
28
28
|
yield* _(E.logDebug('Making request'));
|
|
29
|
-
const rpcClient = yield* _(
|
|
29
|
+
const rpcClient = yield* _(AuthenticationClient);
|
|
30
30
|
const { principal } = yield* _(rpcClient.verifyAuthenticationCredential(request));
|
|
31
31
|
return principal;
|
|
32
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,2BAA2B,GAE5B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,oBAAoB,GAErB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAK/G,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAmBtD,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAgB,eAAe,CAAC,CAAA;AAQ/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,UAAU,CACrD,iCAAiC,CAClC,CAAA;AAID,MAAM,YAAY,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC3C,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;QAChD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;QAEpF,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAAC,CAAA;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;QAEzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,OAAqC,EAAE,EAAE;IACjE,OAAO,IAAI,CACT,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,EACjD,CAAC,CAAC,QAAQ,CACR,KAAK,CAAC,EAAE,CACN,IAAI,oBAAoB,CAAC;QACvB,OAAO,EAAE,yDAAyD;QAClE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAC5B,CAAC,CACL,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAE,EAAE;IACpD,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAA;QAEjF,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAA8B,EAC2B,EAAE;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAA;QAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAErC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAA;QACpE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAE5E,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAEzC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,eAAe,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1F,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;QAC/C,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QAC9C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAA;QAErD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACrD,MAAM,kBAAkB,GAAG,IAAI,CAC7B,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC3C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EACpB,CAAC,CAAC,IAAI,CACP,CAAA;QACD,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;QAE5B,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AAKD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CACjD,qBAAqB,EACrB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAwE,CAAC,CAAA;IAE3G,OAAO,qBAAqB,CAAC,EAAE,CAAC;QAC9B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACnE,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthenticationClient } from '@passlock/shared/dist/rpc/authentication.js';
|
|
2
2
|
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
3
3
|
import { describe, expect, test, vi } from 'vitest';
|
|
4
4
|
import { mock } from 'vitest-mock-extended';
|
|
@@ -20,11 +20,11 @@ describe('authenticate should', () => {
|
|
|
20
20
|
const assertions = E.gen(function* (_) {
|
|
21
21
|
const service = yield* _(AuthenticationService);
|
|
22
22
|
yield* _(service.authenticatePasskey({ userVerification: 'preferred' }));
|
|
23
|
-
const rpcClient = yield* _(
|
|
23
|
+
const rpcClient = yield* _(AuthenticationClient);
|
|
24
24
|
expect(rpcClient.getAuthenticationOptions).toHaveBeenCalledOnce();
|
|
25
25
|
expect(rpcClient.verifyAuthenticationCredential).toHaveBeenCalledOnce();
|
|
26
26
|
});
|
|
27
|
-
const rpcClientTest = L.effect(
|
|
27
|
+
const rpcClientTest = L.effect(AuthenticationClient, E.sync(() => {
|
|
28
28
|
const rpcMock = mock();
|
|
29
29
|
rpcMock.getAuthenticationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
|
|
30
30
|
rpcMock.verifyAuthenticationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
|
|
@@ -39,11 +39,11 @@ describe('authenticate should', () => {
|
|
|
39
39
|
const assertions = E.gen(function* (_) {
|
|
40
40
|
const service = yield* _(AuthenticationService);
|
|
41
41
|
yield* _(service.authenticatePasskey({ userVerification: 'preferred' }));
|
|
42
|
-
const rpcClient = yield* _(
|
|
42
|
+
const rpcClient = yield* _(AuthenticationClient);
|
|
43
43
|
expect(rpcClient.getAuthenticationOptions).toHaveBeenCalledOnce();
|
|
44
44
|
expect(rpcClient.verifyAuthenticationCredential).toHaveBeenCalledWith(Fixture.rpcVerificationReq);
|
|
45
45
|
});
|
|
46
|
-
const rpcClientTest = L.effect(
|
|
46
|
+
const rpcClientTest = L.effect(AuthenticationClient, E.sync(() => {
|
|
47
47
|
const rpcMock = mock();
|
|
48
48
|
rpcMock.getAuthenticationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
|
|
49
49
|
rpcMock.verifyAuthenticationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.test.js","sourceRoot":"","sources":["../../src/authentication/authenticate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"authenticate.test.js","sourceRoot":"","sources":["../../src/authentication/authenticate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { RpcConfig } from '@passlock/shared/dist/rpc/config.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ConnectionClient } from '@passlock/shared/dist/rpc/connection.js';
|
|
3
|
+
import { Dispatcher } from '@passlock/shared/dist/rpc/dispatcher.js';
|
|
3
4
|
import { Context, Effect as E, Layer } from 'effect';
|
|
4
5
|
export type ConnectionService = {
|
|
5
6
|
preConnect: () => E.Effect<void>;
|
|
6
7
|
};
|
|
7
8
|
export declare const ConnectionService: Context.Tag<ConnectionService, ConnectionService>;
|
|
8
|
-
export declare const preConnect: () => E.Effect<void, never,
|
|
9
|
-
export declare const ConnectionServiceLive: Layer.Layer<ConnectionService, never, RpcConfig |
|
|
9
|
+
export declare const preConnect: () => E.Effect<void, never, Dispatcher | ConnectionClient>;
|
|
10
|
+
export declare const ConnectionServiceLive: Layer.Layer<ConnectionService, never, RpcConfig | Dispatcher | ConnectionClient>;
|
|
10
11
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection/connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection/connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAc,MAAM,QAAQ,CAAA;AAIhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,iBAAiB,mDAAoE,CAAA;AAmBlG,eAAO,MAAM,UAAU,4DAA0E,CAAA;AAKjG,eAAO,MAAM,qBAAqB,kFASjC,CAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
1
|
+
import { ConnectionClient, ConnectRes } from '@passlock/shared/dist/rpc/connection.js';
|
|
3
2
|
import { Layer as L } from 'effect';
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
|
|
3
|
+
export declare const preConnectRes: ConnectRes;
|
|
4
|
+
export declare const rpcClientTest: L.Layer<ConnectionClient, never, never>;
|
|
7
5
|
export declare const rpcConfig: {
|
|
8
6
|
endpoint: string;
|
|
9
7
|
tenancyId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.fixture.d.ts","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.fixture.d.ts","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,eAAO,MAAM,aAAa,YAAmC,CAAA;AAE7D,eAAO,MAAM,aAAa,yCAKzB,CAAA;AAED,eAAO,MAAM,SAAS;;;;CAIrB,CAAA"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
1
|
+
import { ConnectionClient, ConnectRes } from '@passlock/shared/dist/rpc/connection.js';
|
|
3
2
|
import { Effect as E, Layer as L } from 'effect';
|
|
4
|
-
|
|
5
|
-
export const
|
|
6
|
-
export const preConnectRes = new PreConnectRes({ warmed: true });
|
|
7
|
-
export const rpcClientTest = L.succeed(RpcClient, RpcClient.of({
|
|
3
|
+
export const preConnectRes = new ConnectRes({ warmed: true });
|
|
4
|
+
export const rpcClientTest = L.succeed(ConnectionClient, ConnectionClient.of({
|
|
8
5
|
preConnect: () => E.succeed(preConnectRes),
|
|
9
|
-
isExistingUser: () => E.fail(Fixtures.notImplemented),
|
|
10
|
-
verifyEmail: () => E.fail(Fixtures.notImplemented),
|
|
11
|
-
getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
|
|
12
|
-
verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
|
|
13
|
-
getAuthenticationOptions: () => E.fail(Fixtures.notImplemented),
|
|
14
|
-
verifyAuthenticationCredential: () => E.fail(Fixtures.notImplemented),
|
|
15
|
-
registerOidc: () => E.fail(Fixtures.notImplemented),
|
|
16
|
-
authenticateOidc: () => E.fail(Fixtures.notImplemented),
|
|
17
|
-
resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
|
|
18
6
|
}));
|
|
19
7
|
export const rpcConfig = {
|
|
20
8
|
endpoint: 'https://example.com',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.fixture.js","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.fixture.js","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,gBAAgB,EAChB,gBAAgB,CAAC,EAAE,CAAC;IAClB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CAC3C,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Dispatcher
|
|
1
|
+
import { ConnectionClient } from '@passlock/shared/dist/rpc/connection.js';
|
|
2
|
+
import { Dispatcher } from '@passlock/shared/dist/rpc/dispatcher.js';
|
|
3
3
|
import { Context, Effect as E, Layer, flow, pipe } from 'effect';
|
|
4
4
|
export const ConnectionService = Context.GenericTag('@services/ConnectService');
|
|
5
5
|
const hitPrincipal = pipe(E.logInfo('Pre-connecting to Principal endpoint'), E.zipRight(Dispatcher), E.flatMap(dispatcher => dispatcher.get('/token/token?warm=true')), E.asVoid, E.catchAll(() => E.void));
|
|
6
|
-
const hitRpc = pipe(E.logInfo('Pre-connecting to RPC endpoint'), E.zipRight(
|
|
6
|
+
const hitRpc = pipe(E.logInfo('Pre-connecting to RPC endpoint'), E.zipRight(ConnectionClient), E.flatMap(rpcClient => rpcClient.preConnect()), E.asVoid);
|
|
7
7
|
export const preConnect = () => pipe(E.all([hitPrincipal, hitRpc], { concurrency: 2 }), E.asVoid);
|
|
8
8
|
export const ConnectionServiceLive = Layer.effect(ConnectionService, E.gen(function* (_) {
|
|
9
9
|
const context = yield* _(E.context());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAQhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAoB,0BAA0B,CAAC,CAAA;AAIlG,MAAM,YAAY,GAAG,IAAI,CACvB,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,EACjD,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EACtB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,EACjE,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACzB,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,CACjB,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAC3C,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAC9C,CAAC,CAAC,MAAM,CACT,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;AAKjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAC/C,iBAAiB,EACjB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAA6C,CAAC,CAAA;IAEhF,OAAO,iBAAiB,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACjD,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RpcConfig } from '@passlock/shared/dist/rpc/config.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ConnectionClient } from '@passlock/shared/dist/rpc/connection.js';
|
|
3
|
+
import { Dispatcher } from '@passlock/shared/dist/rpc/dispatcher.js';
|
|
3
4
|
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
4
5
|
import { describe, expect, test } from 'vitest';
|
|
5
6
|
import { mock } from 'vitest-mock-extended';
|
|
@@ -10,12 +11,12 @@ describe('preConnect should', () => {
|
|
|
10
11
|
const assertions = E.gen(function* (_) {
|
|
11
12
|
const service = yield* _(ConnectionService);
|
|
12
13
|
yield* _(service.preConnect());
|
|
13
|
-
const rpcClient = yield* _(
|
|
14
|
-
expect(rpcClient.preConnect).
|
|
14
|
+
const rpcClient = yield* _(ConnectionClient);
|
|
15
|
+
expect(rpcClient.preConnect).toBeCalled();
|
|
15
16
|
const dispatcher = yield* _(Dispatcher);
|
|
16
17
|
expect(dispatcher.get).toBeCalledWith(`/token/token?warm=true`);
|
|
17
18
|
});
|
|
18
|
-
const rpcClientTest = Layer.effect(
|
|
19
|
+
const rpcClientTest = Layer.effect(ConnectionClient, E.sync(() => {
|
|
19
20
|
const rpcMock = mock();
|
|
20
21
|
rpcMock.preConnect.mockReturnValue(E.succeed(Fixture.preConnectRes));
|
|
21
22
|
return rpcMock;
|
|
@@ -23,7 +24,7 @@ describe('preConnect should', () => {
|
|
|
23
24
|
const rpcConfigTest = Layer.succeed(RpcConfig, RpcConfig.of(Fixture.rpcConfig));
|
|
24
25
|
const dispatcherTest = Layer.effect(Dispatcher, E.sync(() => {
|
|
25
26
|
const dispatcherMock = mock();
|
|
26
|
-
dispatcherMock.get.mockReturnValue(E.succeed({}));
|
|
27
|
+
dispatcherMock.get.mockReturnValue(E.succeed({ status: 200, body: {} }));
|
|
27
28
|
return dispatcherMock;
|
|
28
29
|
}));
|
|
29
30
|
const service = pipe(ConnectionServiceLive, L.provide(rpcClientTest), L.provide(dispatcherTest), L.provide(rpcConfigTest));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/connection/connection.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/connection/connection.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;YAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;YAC5C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAA;YAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;YACvC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAChC,gBAAgB,EAChB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,IAAI,EAA4B,CAAA;YAEhD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;YAEpE,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE/E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CACjC,UAAU,EACV,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACV,MAAM,cAAc,GAAG,IAAI,EAAsB,CAAA;YAEjD,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAExE,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CACH,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAClB,qBAAqB,EACrB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EACxB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EACzB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CACzB,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAE7F,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/effect.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Duplicate, type BadRequest, type Disabled, type Forbidden, type NotFound, type NotSupported, type Unauthorized } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import type { Principal } from '@passlock/shared/dist/schema/
|
|
2
|
+
import type { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
3
3
|
import { Context, Effect as E, Layer as L } from 'effect';
|
|
4
4
|
import type { NoSuchElementException } from 'effect/Cause';
|
|
5
5
|
import { AuthenticationService, type AuthenticationRequest } from './authentication/authenticate.js';
|
package/dist/effect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,SAAS,EAET,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAyB,MAAM,QAAQ,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAEL,qBAAqB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,YAAY,EAAoC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErG,OAAO,EAEL,mBAAmB,EAEnB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAEL,cAAc,EAEd,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAiB,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE9E,OAAO,EAAE,aAAa,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAmB,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAuGzE,eAAO,MAAM,eAAe,4NAS3B,CAAA;;eAKc,MAAM;cACP,MAAM;eACL,MAAM;;AALrB,qBAAa,MAAO,SAAQ,WAOzB;CAAG;AAeN,eAAO,MAAM,UAAU,QAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAMvD,CAAA;AAEH,eAAO,MAAM,YAAY,UAAW,KAAK,KAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAM7E,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAA;AAEjG,eAAO,MAAM,eAAe,YACjB,mBAAmB,KAC3B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAM9C,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAMhD,CAAA;AAEH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,eAAe,YACjB,aAAa,KACrB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAM7C,CAAA;AAEH,eAAO,MAAM,eAAe,QAAO,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAM7E,CAAA;AAEH,eAAO,MAAM,eAAe,aAChB,QAAQ,KACjB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAM5C,CAAA;AAEH,eAAO,MAAM,kBAAkB,QAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAMhD,CAAA;AAEH,eAAO,MAAM,gBAAgB,YAAa,eAAe;;;;;;;;;;;;;;;8DAKtD,CAAA"}
|
package/dist/effect.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { create, get as getCredential } from '@github/webauthn-json/browser-ponyfill';
|
|
2
|
+
import { AuthenticationClientLive } from '@passlock/shared/dist/rpc/authentication.js';
|
|
3
|
+
import { ConnectionClientLive } from '@passlock/shared/dist/rpc/connection.js';
|
|
4
|
+
import { RegistrationClientLive } from '@passlock/shared/dist/rpc/registration.js';
|
|
5
|
+
import { SocialClientLive } from '@passlock/shared/dist/rpc/social.js';
|
|
6
|
+
import { UserClientLive } from '@passlock/shared/dist/rpc/user.js';
|
|
2
7
|
import { Duplicate, InternalBrowserError, } from '@passlock/shared/dist/error/error.js';
|
|
3
|
-
import { DispatcherLive, RpcClientLive, } from '@passlock/shared/dist/rpc/rpc.js';
|
|
4
8
|
import { Context, Effect as E, Layer as L, Layer, Schedule, pipe } from 'effect';
|
|
5
9
|
import { AuthenticateServiceLive, AuthenticationService, GetCredential, } from './authentication/authenticate.js';
|
|
6
10
|
import { capabilitiesLive } from './capabilities/capabilities.js';
|
|
@@ -9,6 +13,7 @@ import { EmailService, EmailServiceLive, URLQueryString } from './email/email.js
|
|
|
9
13
|
import { CreateCredential, RegistrationService, RegistrationServiceLive, } from './registration/register.js';
|
|
10
14
|
import { Storage, StorageService, StorageServiceLive, } from './storage/storage.js';
|
|
11
15
|
import { RetrySchedule, RpcConfig } from '@passlock/shared/dist/rpc/config.js';
|
|
16
|
+
import { DispatcherLive } from '@passlock/shared/dist/rpc/dispatcher.js';
|
|
12
17
|
import { SocialService, SocialServiceLive } from './social/social.js';
|
|
13
18
|
import { UserService, UserServiceLive } from './user/user.js';
|
|
14
19
|
const createCredentialLive = L.succeed(CreateCredential, CreateCredential.of((options) => pipe(E.tryPromise({
|
|
@@ -37,15 +42,19 @@ const getCredentialLive = L.succeed(GetCredential, GetCredential.of((options) =>
|
|
|
37
42
|
const schedule = Schedule.intersect(Schedule.recurs(3), Schedule.exponential('100 millis'));
|
|
38
43
|
const retryScheduleLive = L.succeed(RetrySchedule, RetrySchedule.of({ schedule }));
|
|
39
44
|
const dispatcherLive = pipe(DispatcherLive, L.provide(retryScheduleLive));
|
|
40
|
-
const
|
|
45
|
+
const connectClientLive = pipe(ConnectionClientLive, L.provide(dispatcherLive));
|
|
46
|
+
const registerClientLive = pipe(RegistrationClientLive, L.provide(dispatcherLive));
|
|
47
|
+
const authenticateClientLive = pipe(AuthenticationClientLive, L.provide(dispatcherLive));
|
|
48
|
+
const socialClientLive = pipe(SocialClientLive, L.provide(dispatcherLive));
|
|
49
|
+
const userClientLive = pipe(UserClientLive, L.provide(dispatcherLive));
|
|
41
50
|
const storageServiceLive = StorageServiceLive;
|
|
42
|
-
const userServiceLive = pipe(UserServiceLive, L.provide(
|
|
43
|
-
const registrationServiceLive = pipe(RegistrationServiceLive, L.provide(
|
|
44
|
-
const authenticationServiceLive = pipe(AuthenticateServiceLive, L.provide(
|
|
45
|
-
const connectionServiceLive = pipe(ConnectionServiceLive, L.provide(
|
|
51
|
+
const userServiceLive = pipe(UserServiceLive, L.provide(userClientLive));
|
|
52
|
+
const registrationServiceLive = pipe(RegistrationServiceLive, L.provide(registerClientLive), L.provide(userServiceLive), L.provide(capabilitiesLive), L.provide(createCredentialLive), L.provide(storageServiceLive));
|
|
53
|
+
const authenticationServiceLive = pipe(AuthenticateServiceLive, L.provide(authenticateClientLive), L.provide(capabilitiesLive), L.provide(getCredentialLive), L.provide(storageServiceLive));
|
|
54
|
+
const connectionServiceLive = pipe(ConnectionServiceLive, L.provide(connectClientLive), L.provide(dispatcherLive));
|
|
46
55
|
const urlQueryStringLive = Layer.succeed(URLQueryString, URLQueryString.of(E.sync(() => globalThis.window.location.search)));
|
|
47
|
-
const emailServiceLive = pipe(EmailServiceLive, L.provide(urlQueryStringLive), L.provide(
|
|
48
|
-
const socialServiceLive = pipe(SocialServiceLive, L.provide(
|
|
56
|
+
const emailServiceLive = pipe(EmailServiceLive, L.provide(urlQueryStringLive), L.provide(userClientLive), L.provide(capabilitiesLive), L.provide(authenticationServiceLive), L.provide(storageServiceLive));
|
|
57
|
+
const socialServiceLive = pipe(SocialServiceLive, L.provide(socialClientLive));
|
|
49
58
|
export const allRequirements = Layer.mergeAll(capabilitiesLive, userServiceLive, registrationServiceLive, authenticationServiceLive, connectionServiceLive, emailServiceLive, storageServiceLive, socialServiceLive);
|
|
50
59
|
export class Config extends Context.Tag('Config')() {
|
|
51
60
|
}
|
package/dist/effect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAErF,OAAO,
|
|
1
|
+
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"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"}
|
package/dist/email/email.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
|
|
2
1
|
import type { VerifyEmailErrors as RpcErrors } from '@passlock/shared/dist/rpc/user.js';
|
|
3
|
-
import
|
|
2
|
+
import { UserClient } from '@passlock/shared/dist/rpc/user.js';
|
|
3
|
+
import type { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
4
4
|
import { Context, Effect as E, Layer } from 'effect';
|
|
5
5
|
import { AuthenticationService, type AuthenticationErrors } from '../authentication/authenticate.js';
|
|
6
6
|
import { StorageService } from '../storage/storage.js';
|
|
@@ -16,7 +16,7 @@ export type EmailService = {
|
|
|
16
16
|
verifyEmailLink: () => E.Effect<Principal, VerifyEmailErrors>;
|
|
17
17
|
};
|
|
18
18
|
export declare const EmailService: Context.Tag<EmailService, EmailService>;
|
|
19
|
-
export type Dependencies = StorageService | AuthenticationService |
|
|
19
|
+
export type Dependencies = StorageService | AuthenticationService | UserClient;
|
|
20
20
|
export declare const extractCodeFromHref: () => E.Effect<string, import("effect/Cause").NoSuchElementException, URLQueryString>;
|
|
21
21
|
export declare const verifyEmail: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors, Dependencies>;
|
|
22
22
|
export declare const verifyEmailLink: () => E.Effect<{
|
|
@@ -35,6 +35,6 @@ export declare const verifyEmailLink: () => E.Effect<{
|
|
|
35
35
|
};
|
|
36
36
|
readonly expireAt: Date;
|
|
37
37
|
}, VerifyEmailErrors, URLQueryString | Dependencies>;
|
|
38
|
-
export declare const EmailServiceLive: Layer.Layer<EmailService, never, StorageService | AuthenticationService |
|
|
38
|
+
export declare const EmailServiceLive: Layer.Layer<EmailService, never, StorageService | AuthenticationService | URLQueryString | UserClient>;
|
|
39
39
|
export {};
|
|
40
40
|
//# sourceMappingURL=email.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AACvF,OAAO,EAAE,UAAU,EAAkB,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAqC,MAAM,QAAQ,CAAA;AACvF,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,oBAAoB,CAAA;;AAIhE,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAIN,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IACnF,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;CAC9D,CAAA;AAED,eAAO,MAAM,YAAY,yCAA6D,CAAA;AAItF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,qBAAqB,GAAG,UAAU,CAAA;AAuC9E,eAAO,MAAM,mBAAmB,uFAO/B,CAAA;AASD,eAAO,MAAM,WAAW,YACb,aAAa,KACrB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAarD,CAAA;AAMD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;oDAKzB,CAAA;AAKH,eAAO,MAAM,gBAAgB,wGAW5B,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
1
|
+
import { UserClient, VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
3
2
|
import { Layer as L } from 'effect';
|
|
4
3
|
import { AuthenticationService } from '../authentication/authenticate.js';
|
|
5
4
|
import { URLQueryString } from './email.js';
|
|
@@ -11,7 +10,7 @@ export declare const locationSearchTest: L.Layer<URLQueryString, never, never>;
|
|
|
11
10
|
export declare const authenticationServiceTest: L.Layer<AuthenticationService, never, never>;
|
|
12
11
|
export declare const rpcVerifyEmailReq: VerifyEmailReq;
|
|
13
12
|
export declare const rpcVerifyEmailRes: VerifyEmailRes;
|
|
14
|
-
export declare const rpcClientTest: L.Layer<
|
|
13
|
+
export declare const rpcClientTest: L.Layer<UserClient, never, never>;
|
|
15
14
|
export declare const principal: {
|
|
16
15
|
readonly token: string;
|
|
17
16
|
readonly user: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.fixture.d.ts","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"email.fixture.d.ts","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,kBAAkB,uCAG9B,CAAA;AAED,eAAO,MAAM,yBAAyB,8CAKrC,CAAA;AAED,eAAO,MAAM,iBAAiB,gBAAsC,CAAA;AAEpE,eAAO,MAAM,iBAAiB,gBAAwD,CAAA;AAEtF,eAAO,MAAM,aAAa,mCAOzB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,WAAW,mCAAuB,CAAA;AAE/C,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
1
|
+
import { UserClient, VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
3
2
|
import { Effect as E, Layer as L } from 'effect';
|
|
4
3
|
import { AuthenticationService } from '../authentication/authenticate.js';
|
|
5
4
|
import * as Fixtures from '../test/fixtures.js';
|
|
@@ -14,16 +13,9 @@ export const authenticationServiceTest = L.succeed(AuthenticationService, Authen
|
|
|
14
13
|
}));
|
|
15
14
|
export const rpcVerifyEmailReq = new VerifyEmailReq({ token, code });
|
|
16
15
|
export const rpcVerifyEmailRes = new VerifyEmailRes({ principal: Fixtures.principal });
|
|
17
|
-
export const rpcClientTest = L.succeed(
|
|
18
|
-
preConnect: () => E.succeed({ warmed: true }),
|
|
16
|
+
export const rpcClientTest = L.succeed(UserClient, UserClient.of({
|
|
19
17
|
isExistingUser: () => E.succeed({ existingUser: true }),
|
|
20
18
|
verifyEmail: () => E.succeed(rpcVerifyEmailRes),
|
|
21
|
-
getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
|
|
22
|
-
verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
|
|
23
|
-
getAuthenticationOptions: () => E.fail(Fixtures.notImplemented),
|
|
24
|
-
verifyAuthenticationCredential: () => E.fail(Fixtures.notImplemented),
|
|
25
|
-
registerOidc: () => E.fail(Fixtures.notImplemented),
|
|
26
|
-
authenticateOidc: () => E.fail(Fixtures.notImplemented),
|
|
27
19
|
resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
|
|
28
20
|
}));
|
|
29
21
|
export const principal = Fixtures.principal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.fixture.js","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"email.fixture.js","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAA;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CACzC,cAAc,EACd,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,OAAO,CAChD,qBAAqB,EACrB,qBAAqB,CAAC,EAAE,CAAC;IACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CACzD,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,UAAU,EACV,UAAU,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACvD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/D,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA"}
|