@passlock/client 0.9.17 → 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 +4 -5
- 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 +4 -4
- 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 +5 -5
- package/dist/email/email.d.ts.map +1 -1
- package/dist/email/email.fixture.d.ts +3 -4
- 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 +13 -11
- 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 +4 -5
- 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 +22 -13
- package/dist/social/social.d.ts.map +1 -1
- package/dist/social/social.fixture.d.ts +10 -10
- package/dist/social/social.fixture.d.ts.map +1 -1
- package/dist/social/social.fixture.js +21 -19
- package/dist/social/social.fixture.js.map +1 -1
- package/dist/social/social.js +12 -6
- package/dist/social/social.js.map +1 -1
- package/dist/social/social.test.js +15 -15
- package/dist/social/social.test.js.map +1 -1
- package/dist/storage/storage.d.ts +2 -2
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/storage/storage.js +1 -0
- package/dist/storage/storage.js.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 +22 -16
- 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 +10 -7
- 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 +25 -21
- package/src/social/social.test.ts +21 -21
- package/src/social/social.ts +40 -19
- package/src/storage/storage.ts +3 -2
- 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
package/dist/social/social.js
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
import {} from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import * as Shared from '@passlock/shared/dist/rpc/social.js';
|
|
3
|
+
import { SocialClient } from '@passlock/shared/dist/rpc/social.js';
|
|
4
4
|
import { Context, Effect as E, Layer, flow } from 'effect';
|
|
5
5
|
export const SocialService = Context.GenericTag('@services/SocialService');
|
|
6
6
|
export const registerOidc = (request) => {
|
|
7
7
|
return E.gen(function* (_) {
|
|
8
8
|
yield* _(E.logInfo('Registering social account'));
|
|
9
|
-
const rpcClient = yield* _(
|
|
10
|
-
const
|
|
9
|
+
const rpcClient = yield* _(SocialClient);
|
|
10
|
+
const rpcRequest = new Shared.RegisterOidcReq({
|
|
11
|
+
...request,
|
|
12
|
+
...(request.givenName ? { givenName: request.givenName } : {}),
|
|
13
|
+
...(request.familyName ? { familyName: request.familyName } : {})
|
|
14
|
+
});
|
|
15
|
+
const { principal } = yield* _(rpcClient.registerOidc(rpcRequest));
|
|
11
16
|
return principal;
|
|
12
17
|
});
|
|
13
18
|
};
|
|
14
19
|
export const authenticateOidc = (request) => {
|
|
15
20
|
return E.gen(function* (_) {
|
|
16
21
|
yield* _(E.logInfo('Authenticating with social account'));
|
|
17
|
-
const rpcClient = yield* _(
|
|
18
|
-
const
|
|
22
|
+
const rpcClient = yield* _(SocialClient);
|
|
23
|
+
const rpcRequest = new Shared.AuthOidcReq(request);
|
|
24
|
+
const { principal } = yield* _(rpcClient.authenticateOidc(rpcRequest));
|
|
19
25
|
return principal;
|
|
20
26
|
});
|
|
21
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.js","sourceRoot":"","sources":["../../src/social/social.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,MAAM,sCAAsC,CAAA;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"social.js","sourceRoot":"","sources":["../../src/social/social.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAiC1D,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAC7C,yBAAyB,CAC1B,CAAA;AAMD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAwB,EAC+B,EAAE;IACzD,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAEjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAExC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC;YAC5C,GAAG,OAAO;YACV,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAA;QAEF,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAC5B,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CACnC,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA4B,EAC6B,EAAE;IAC3D,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAA;QAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QACxC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAElD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAC5B,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACvC,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAKD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAgB,CAAC,CAAA;IAEnD,OAAO,aAAa,CAAC,EAAE,CAAC;QACtB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Duplicate, NotFound } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import {
|
|
2
|
+
import { SocialClient } from '@passlock/shared/dist/rpc/social.js';
|
|
3
3
|
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
4
4
|
import { describe, expect, test } from 'vitest';
|
|
5
5
|
import { mock } from 'vitest-mock-extended';
|
|
@@ -9,10 +9,10 @@ describe('registerOidc should', () => {
|
|
|
9
9
|
test('return a valid credential', async () => {
|
|
10
10
|
const assertions = E.gen(function* (_) {
|
|
11
11
|
const service = yield* _(SocialService);
|
|
12
|
-
const result = yield* _(service.registerOidc(Fixture.
|
|
12
|
+
const result = yield* _(service.registerOidc(Fixture.registerOidcReq));
|
|
13
13
|
expect(result).toEqual(Fixture.principal);
|
|
14
14
|
});
|
|
15
|
-
const rpcClientTest = L.effect(
|
|
15
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
16
16
|
const rpcMock = mock();
|
|
17
17
|
rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
18
18
|
return rpcMock;
|
|
@@ -25,11 +25,11 @@ describe('registerOidc should', () => {
|
|
|
25
25
|
test('pass the request to the backend', async () => {
|
|
26
26
|
const assertions = E.gen(function* (_) {
|
|
27
27
|
const service = yield* _(SocialService);
|
|
28
|
-
yield* _(service.registerOidc(Fixture.
|
|
29
|
-
const rpcClient = yield* _(
|
|
28
|
+
yield* _(service.registerOidc(Fixture.registerOidcReq));
|
|
29
|
+
const rpcClient = yield* _(SocialClient);
|
|
30
30
|
expect(rpcClient.registerOidc).toHaveBeenCalledWith(Fixture.rpcRegisterReq);
|
|
31
31
|
});
|
|
32
|
-
const rpcClientTest = L.effect(
|
|
32
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
33
33
|
const rpcMock = mock();
|
|
34
34
|
rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
35
35
|
return rpcMock;
|
|
@@ -42,10 +42,10 @@ describe('registerOidc should', () => {
|
|
|
42
42
|
test('return an error if we try to register an existing user', async () => {
|
|
43
43
|
const assertions = E.gen(function* (_) {
|
|
44
44
|
const service = yield* _(SocialService);
|
|
45
|
-
const defect = yield* _(service.registerOidc(Fixture.
|
|
45
|
+
const defect = yield* _(service.registerOidc(Fixture.registerOidcReq), E.flip);
|
|
46
46
|
expect(defect).toBeInstanceOf(Duplicate);
|
|
47
47
|
});
|
|
48
|
-
const rpcClientTest = L.effect(
|
|
48
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
49
49
|
const rpcMock = mock();
|
|
50
50
|
rpcMock.registerOidc.mockReturnValue(E.fail(new Duplicate({ message: "Duplicate user" })));
|
|
51
51
|
return rpcMock;
|
|
@@ -60,10 +60,10 @@ describe('authenticateIodc should', () => {
|
|
|
60
60
|
test('return a valid credential', async () => {
|
|
61
61
|
const assertions = E.gen(function* (_) {
|
|
62
62
|
const service = yield* _(SocialService);
|
|
63
|
-
const result = yield* _(service.authenticateOidc(Fixture.
|
|
63
|
+
const result = yield* _(service.authenticateOidc(Fixture.authOidcReq));
|
|
64
64
|
expect(result).toEqual(Fixture.principal);
|
|
65
65
|
});
|
|
66
|
-
const rpcClientTest = L.effect(
|
|
66
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
67
67
|
const rpcMock = mock();
|
|
68
68
|
rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
|
|
69
69
|
return rpcMock;
|
|
@@ -76,11 +76,11 @@ describe('authenticateIodc should', () => {
|
|
|
76
76
|
test('pass the request to the backend', async () => {
|
|
77
77
|
const assertions = E.gen(function* (_) {
|
|
78
78
|
const service = yield* _(SocialService);
|
|
79
|
-
yield* _(service.authenticateOidc(Fixture.
|
|
80
|
-
const rpcClient = yield* _(
|
|
79
|
+
yield* _(service.authenticateOidc(Fixture.authOidcReq));
|
|
80
|
+
const rpcClient = yield* _(SocialClient);
|
|
81
81
|
expect(rpcClient.authenticateOidc).toHaveBeenCalledWith(Fixture.rpcAuthenticateReq);
|
|
82
82
|
});
|
|
83
|
-
const rpcClientTest = L.effect(
|
|
83
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
84
84
|
const rpcMock = mock();
|
|
85
85
|
rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcAuthenticateRes));
|
|
86
86
|
return rpcMock;
|
|
@@ -93,10 +93,10 @@ describe('authenticateIodc should', () => {
|
|
|
93
93
|
test('return an error if we try to authenticate a non-existing user', async () => {
|
|
94
94
|
const assertions = E.gen(function* (_) {
|
|
95
95
|
const service = yield* _(SocialService);
|
|
96
|
-
const defect = yield* _(service.authenticateOidc(Fixture.
|
|
96
|
+
const defect = yield* _(service.authenticateOidc(Fixture.authOidcReq), E.flip);
|
|
97
97
|
expect(defect).toBeInstanceOf(NotFound);
|
|
98
98
|
});
|
|
99
|
-
const rpcClientTest = L.effect(
|
|
99
|
+
const rpcClientTest = L.effect(SocialClient, E.sync(() => {
|
|
100
100
|
const rpcMock = mock();
|
|
101
101
|
rpcMock.authenticateOidc.mockReturnValue(E.fail(new NotFound({ message: "User not found" })));
|
|
102
102
|
return rpcMock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.test.js","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"social.test.js","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Principal } from '@passlock/shared/dist/schema/
|
|
1
|
+
import type { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
2
2
|
import { Context, Effect as E, Layer, Option as O } from 'effect';
|
|
3
3
|
import type { NoSuchElementException } from 'effect/Cause';
|
|
4
|
-
export type AuthType = 'email' | 'passkey' | 'google';
|
|
4
|
+
export type AuthType = 'email' | 'passkey' | 'apple' | 'google';
|
|
5
5
|
export type StoredToken = {
|
|
6
6
|
token: string;
|
|
7
7
|
authType: AuthType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAc,MAAM,QAAQ,CAAA;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAI1D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE/D,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAID,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAA;IAC/E,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzD,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,cAAc,6CAAiE,CAAA;AAG5F,eAAO,MAAM,OAAO,+BAAmD,CAAA;AAEvE,eAAO,MAAM,QAAQ,aAAc,QAAQ,WAAiC,CAAA;AAG5E,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAIpD,CAAA;AAGD,eAAO,MAAM,WAAW,aACX,QAAQ,SACf,MAAM,KAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAShC,CAAA;AASH,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAY9E,CAAA;AAOD,eAAO,MAAM,QAAQ,aACT,QAAQ,KACjB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE,OAAO,CAavD,CAAA;AAOD,eAAO,MAAM,UAAU,aAAc,QAAQ,KAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAK5E,CAAA;AAQD,eAAO,MAAM,iBAAiB,aAAc,QAAQ,KAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAqBnF,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAK5D,CAAA;AAKF,eAAO,MAAM,kBAAkB,6CAa9B,CAAA"}
|
package/dist/storage/storage.js
CHANGED
|
@@ -59,6 +59,7 @@ export const clearExpiredTokens = E.all([
|
|
|
59
59
|
clearExpiredToken('passkey'),
|
|
60
60
|
clearExpiredToken('email'),
|
|
61
61
|
clearExpiredToken('google'),
|
|
62
|
+
clearExpiredToken('apple'),
|
|
62
63
|
]);
|
|
63
64
|
export const StorageServiceLive = Layer.effect(StorageService, E.gen(function* (_) {
|
|
64
65
|
const context = yield* _(E.context());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAyB7E,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAiB,0BAA0B,CAAC,CAAA;AAG5F,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAU,mBAAmB,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,YAAY,QAAQ,QAAQ,CAAA;AAG5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAU,EAAE;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,OAAO,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAA;AAC/B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,QAAkB,EAAE,EAAE,CACvB,CAAC,CAAS,EAAyB,EAAE;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAExC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,MAAM,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA;IAEtC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC,CAAA;AASH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAkC,EAAE;IACjF,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACtD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACvC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAE/B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAkB,EACsC,EAAE;IAC1D,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,SAAS,GAAG,IAAI,CACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EACjE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAChC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAC5D,CAAA;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAkC,EAAE;IAC/E,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAkC,EAAE;IACtF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE9B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEnD,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;IACH,CAAC,CAAC,CAAA;IAGF,OAAO,IAAI,CACT,MAAM,EACN,CAAC,CAAC,KAAK,CAAC;QACN,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;QACvB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;KACxB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAmC,CAAC,CAAC,GAAG,CAAC;IACtE,iBAAiB,CAAC,SAAS,CAAC;IAC5B,iBAAiB,CAAC,OAAO,CAAC;IAC1B,iBAAiB,CAAC,QAAQ,CAAC;IAC3B,iBAAiB,CAAC,OAAO,CAAC;CAC3B,CAAC,CAAA;AAKF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAW,CAAC,CAAA;IAE9C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACjE,CAAA;AACH,CAAC,CAAC,CACH,CAAA"}
|
package/dist/test/fixtures.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BadRequest } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import {
|
|
3
|
-
import type { Principal } from '@passlock/shared/dist/schema/schema.js';
|
|
2
|
+
import type { Principal } from '@passlock/shared/dist/schema/principal.js';
|
|
4
3
|
import { Layer as L } from 'effect';
|
|
5
4
|
import { Capabilities } from '../capabilities/capabilities.js';
|
|
6
5
|
import { StorageService, type StoredToken } from '../storage/storage.js';
|
|
@@ -13,6 +12,5 @@ export declare const principal: Principal;
|
|
|
13
12
|
export declare const capabilitiesTest: L.Layer<Capabilities, never, never>;
|
|
14
13
|
export declare const storedToken: StoredToken;
|
|
15
14
|
export declare const storageServiceTest: L.Layer<StorageService, never, never>;
|
|
16
|
-
export declare const preConnectRes: PreConnectRes;
|
|
17
15
|
export declare const notImplemented: BadRequest;
|
|
18
16
|
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExE,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,SAAS,EAAE,SAevB,CAAA;AAED,eAAO,MAAM,gBAAgB,qCAQ5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,WAA2C,CAAA;AAErE,eAAO,MAAM,kBAAkB,uCAS9B,CAAA;AAED,eAAO,MAAM,cAAc,YAAiD,CAAA"}
|
package/dist/test/fixtures.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BadRequest } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import { PreConnectRes } from '@passlock/shared/dist/rpc/connection.js';
|
|
3
2
|
import { Effect as E, Layer as L } from 'effect';
|
|
4
3
|
import { Capabilities } from '../capabilities/capabilities.js';
|
|
5
4
|
import { StorageService } from '../storage/storage.js';
|
|
@@ -38,6 +37,5 @@ export const storageServiceTest = L.succeed(StorageService, StorageService.of({
|
|
|
38
37
|
clearExpiredToken: () => E.void,
|
|
39
38
|
clearExpiredTokens: E.void,
|
|
40
39
|
}));
|
|
41
|
-
export const preConnectRes = new PreConnectRes({ warmed: true });
|
|
42
40
|
export const notImplemented = new BadRequest({ message: 'Not implemented' });
|
|
43
41
|
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEjE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAoB,MAAM,uBAAuB,CAAA;AAExE,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,SAAS,GAAc;IAClC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE;QACJ,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,KAAK;KACrB;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;KAC3B;IACD,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CACvC,YAAY,EACZ,YAAY,CAAC,EAAE,CAAC;IACd,cAAc,EAAE,CAAC,CAAC,IAAI;IACtB,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI;IACvB,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CACzC,cAAc,EACd,cAAc,CAAC,EAAE,CAAC;IAChB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;IACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;IACxB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;IAC/B,kBAAkB,EAAE,CAAC,CAAC,IAAI;CAC3B,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA"}
|
package/dist/user/user.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BadRequest, Disabled, NotFound } from '@passlock/shared/dist/error/error.js';
|
|
2
|
-
import {
|
|
3
|
-
import type { VerifyEmail } from '@passlock/shared/dist/schema/
|
|
2
|
+
import { UserClient } from '@passlock/shared/dist/rpc/user.js';
|
|
3
|
+
import type { VerifyEmail } from '@passlock/shared/dist/schema/email.js';
|
|
4
4
|
import { Context, Effect as E, Layer } from 'effect';
|
|
5
5
|
export type Email = {
|
|
6
6
|
email: string;
|
|
@@ -14,9 +14,9 @@ export type UserService = {
|
|
|
14
14
|
resendVerificationEmail: (request: ResendEmail) => E.Effect<void, ResendEmailErrors>;
|
|
15
15
|
};
|
|
16
16
|
export declare const UserService: Context.Tag<UserService, UserService>;
|
|
17
|
-
type Dependencies =
|
|
17
|
+
type Dependencies = UserClient;
|
|
18
18
|
export declare const isExistingUser: (request: Email) => E.Effect<boolean, BadRequest, Dependencies>;
|
|
19
19
|
export declare const resendVerificationEmail: (request: ResendEmail) => E.Effect<void, ResendEmailErrors, Dependencies>;
|
|
20
|
-
export declare const UserServiceLive: Layer.Layer<UserService, never,
|
|
20
|
+
export declare const UserServiceLive: Layer.Layer<UserService, never, UserClient>;
|
|
21
21
|
export {};
|
|
22
22
|
//# sourceMappingURL=user.d.ts.map
|
package/dist/user/user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/user/user.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/user/user.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,EAAqC,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAI1D,MAAM,MAAM,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAI1D,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAIhE,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjE,uBAAuB,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;CACrF,CAAA;AAED,eAAO,MAAM,WAAW,uCAA2D,CAAA;AAInF,KAAK,YAAY,GAAG,UAAU,CAAA;AAE9B,eAAO,MAAM,cAAc,YAAa,KAAK,KAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAUzF,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,WAAW,KAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,CAS5G,CAAA;AAKD,eAAO,MAAM,eAAe,6CAS3B,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IsExistingUserReq, IsExistingUserRes, ResendEmailReq, ResendEmailRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
1
|
+
import { IsExistingUserReq, IsExistingUserRes, ResendEmailReq, ResendEmailRes, UserClient, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
3
2
|
import { Layer as L } from 'effect';
|
|
4
3
|
import type { ResendEmail } from './user.js';
|
|
5
4
|
export declare const email = "jdoe@gmail.com";
|
|
@@ -9,5 +8,5 @@ export declare const verifyEmailRes: VerifyEmailRes;
|
|
|
9
8
|
export declare const resendEmailReq: ResendEmail;
|
|
10
9
|
export declare const rpcResendEmailReq: ResendEmailReq;
|
|
11
10
|
export declare const rpcResendEmailRes: ResendEmailRes;
|
|
12
|
-
export declare const rpcClientTest: L.Layer<
|
|
11
|
+
export declare const rpcClientTest: L.Layer<UserClient, never, never>;
|
|
13
12
|
//# sourceMappingURL=user.fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.fixture.d.ts","sourceRoot":"","sources":["../../src/user/user.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user.fixture.d.ts","sourceRoot":"","sources":["../../src/user/user.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACpJ,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,KAAK,mBAAmB,CAAA;AACrC,eAAO,MAAM,eAAe,mBAAmC,CAAA;AAC/D,eAAO,MAAM,eAAe,mBAAiD,CAAA;AAC7E,eAAO,MAAM,cAAc,gBAAwD,CAAA;AACnF,eAAO,MAAM,cAAc,EAAE,WAA+C,CAAA;AAC5E,eAAO,MAAM,iBAAiB,gBAAwE,CAAA;AACtG,eAAO,MAAM,iBAAiB,gBAA0B,CAAA;AAExD,eAAO,MAAM,aAAa,mCAOzB,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IsExistingUserReq, IsExistingUserRes, ResendEmailReq, ResendEmailRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
1
|
+
import { IsExistingUserReq, IsExistingUserRes, ResendEmailReq, ResendEmailRes, UserClient, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
|
|
3
2
|
import { Effect as E, Layer as L } from 'effect';
|
|
4
3
|
import * as Fixtures from '../test/fixtures.js';
|
|
5
4
|
export const email = 'jdoe@gmail.com';
|
|
@@ -9,16 +8,9 @@ export const verifyEmailRes = new VerifyEmailRes({ principal: Fixtures.principal
|
|
|
9
8
|
export const resendEmailReq = { userId: '123', method: 'code' };
|
|
10
9
|
export const rpcResendEmailReq = new ResendEmailReq({ userId: '123', verifyEmail: { method: 'code' } });
|
|
11
10
|
export const rpcResendEmailRes = new ResendEmailRes({});
|
|
12
|
-
export const rpcClientTest = L.succeed(
|
|
13
|
-
preConnect: () => E.succeed({ warmed: true }),
|
|
11
|
+
export const rpcClientTest = L.succeed(UserClient, UserClient.of({
|
|
14
12
|
isExistingUser: () => E.succeed({ existingUser: true }),
|
|
15
13
|
verifyEmail: () => E.succeed(verifyEmailRes),
|
|
16
|
-
getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
|
|
17
|
-
verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
|
|
18
|
-
getAuthenticationOptions: () => E.fail(Fixtures.notImplemented),
|
|
19
|
-
verifyAuthenticationCredential: () => E.fail(Fixtures.notImplemented),
|
|
20
|
-
registerOidc: () => E.fail(Fixtures.notImplemented),
|
|
21
|
-
authenticateOidc: () => E.fail(Fixtures.notImplemented),
|
|
22
14
|
resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
|
|
23
15
|
}));
|
|
24
16
|
//# sourceMappingURL=user.fixture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.fixture.js","sourceRoot":"","sources":["../../src/user/user.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user.fixture.js","sourceRoot":"","sources":["../../src/user/user.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACpJ,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAG/C,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAA;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AACnF,MAAM,CAAC,MAAM,cAAc,GAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAC,CAAC,CAAA;AACtG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAG,CAAC,CAAA;AAExD,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,cAAc,CAAC;IAC5C,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/D,CAAC,CACH,CAAA"}
|
package/dist/user/user.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IsExistingUserReq, ResendEmailReq } from '@passlock/shared/dist/rpc/user.js';
|
|
1
|
+
import { IsExistingUserReq, ResendEmailReq, UserClient } from '@passlock/shared/dist/rpc/user.js';
|
|
3
2
|
import { Context, Effect as E, Layer, flow } from 'effect';
|
|
4
3
|
export const UserService = Context.GenericTag('@services/UserService');
|
|
5
4
|
export const isExistingUser = (request) => {
|
|
6
5
|
return E.gen(function* (_) {
|
|
7
6
|
yield* _(E.logInfo('Checking registration status'));
|
|
8
|
-
const rpcClient = yield* _(
|
|
7
|
+
const rpcClient = yield* _(UserClient);
|
|
9
8
|
yield* _(E.logDebug('Making RPC request'));
|
|
10
9
|
const { existingUser } = yield* _(rpcClient.isExistingUser(new IsExistingUserReq(request)));
|
|
11
10
|
return existingUser;
|
|
@@ -14,7 +13,7 @@ export const isExistingUser = (request) => {
|
|
|
14
13
|
export const resendVerificationEmail = (request) => {
|
|
15
14
|
return E.gen(function* (_) {
|
|
16
15
|
yield* _(E.logInfo('Resending verification email'));
|
|
17
|
-
const rpcClient = yield* _(
|
|
16
|
+
const rpcClient = yield* _(UserClient);
|
|
18
17
|
yield* _(E.logDebug('Making RPC request'));
|
|
19
18
|
const { userId, ...verifyEmail } = request;
|
|
20
19
|
yield* _(rpcClient.resendVerificationEmail(new ResendEmailReq({ userId, verifyEmail })));
|
package/dist/user/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/user/user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/user/user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEjG,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAkB1D,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAc,uBAAuB,CAAC,CAAA;AAMnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAc,EAA+C,EAAE;IAC5F,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEtC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAE3F,OAAO,YAAY,CAAA;IACrB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAoB,EAAmD,EAAE;IAC/G,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEtC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;QAC1C,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAKD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CACzC,WAAW,EACX,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAc,CAAC,CAAA;IACjD,OAAO,WAAW,CAAC,EAAE,CAAC;QACpB,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3E,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
package/dist/user/user.test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UserClient } from '@passlock/shared/dist/rpc/user.js';
|
|
2
2
|
import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
|
|
3
3
|
import { describe, expect, test } from 'vitest';
|
|
4
4
|
import { mock } from 'vitest-mock-extended';
|
|
@@ -20,10 +20,10 @@ describe('isExistingUser should', () => {
|
|
|
20
20
|
const service = yield* _(UserService);
|
|
21
21
|
const result = yield* _(service.isExistingUser({ email: Fixture.email }));
|
|
22
22
|
expect(result).toBe(false);
|
|
23
|
-
const rpcClient = yield* _(
|
|
23
|
+
const rpcClient = yield* _(UserClient);
|
|
24
24
|
expect(rpcClient.isExistingUser).toBeCalledWith(Fixture.isRegisteredReq);
|
|
25
25
|
});
|
|
26
|
-
const rpcClientTest = Layer.effect(
|
|
26
|
+
const rpcClientTest = Layer.effect(UserClient, E.sync(() => {
|
|
27
27
|
const rpcMock = mock();
|
|
28
28
|
rpcMock.isExistingUser.mockReturnValue(E.succeed(Fixture.isRegisteredRes));
|
|
29
29
|
return rpcMock;
|
|
@@ -39,10 +39,10 @@ describe('resendVerificationEmail should', () => {
|
|
|
39
39
|
const assertions = E.gen(function* (_) {
|
|
40
40
|
const service = yield* _(UserService);
|
|
41
41
|
yield* _(service.resendVerificationEmail(Fixture.resendEmailReq));
|
|
42
|
-
const rpcClient = yield* _(
|
|
42
|
+
const rpcClient = yield* _(UserClient);
|
|
43
43
|
expect(rpcClient.resendVerificationEmail).toBeCalledWith(Fixture.rpcResendEmailReq);
|
|
44
44
|
});
|
|
45
|
-
const rpcClientTest = Layer.effect(
|
|
45
|
+
const rpcClientTest = Layer.effect(UserClient, E.sync(() => {
|
|
46
46
|
const rpcMock = mock();
|
|
47
47
|
rpcMock.resendVerificationEmail.mockReturnValue(E.succeed(Fixture.rpcResendEmailRes));
|
|
48
48
|
return rpcMock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../src/user/user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../src/user/user.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,eAAe,CAAA"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@passlock/client",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.21",
|
|
4
4
|
"description": "Easy WebAuthn/FIDO Passkey authentication and social login for web apps. This library works with pretty much any frontend/backend stack including React/Next.js, Vue etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"passkey",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@github/webauthn-json": "^2.1.1",
|
|
45
45
|
"effect": "^3.4.8",
|
|
46
|
-
"@passlock/shared": "0.9.
|
|
46
|
+
"@passlock/shared": "0.9.21"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@tsconfig/node18": "^18.2.4",
|
|
50
50
|
"@types/node": "^20.14.10",
|
|
51
51
|
"@typescript-eslint/eslint-plugin": "^7.15.0",
|
|
52
52
|
"@typescript-eslint/parser": "^7.15.0",
|
|
53
|
-
"@vitest/coverage-v8": "^
|
|
54
|
-
"@vitest/ui": "^
|
|
53
|
+
"@vitest/coverage-v8": "^2.0.3",
|
|
54
|
+
"@vitest/ui": "^2.0.3",
|
|
55
55
|
"eslint": "^8.57.0",
|
|
56
56
|
"eslint-config-prettier": "^9.1.0",
|
|
57
57
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
@@ -62,24 +62,23 @@
|
|
|
62
62
|
"tslib": "^2.6.3",
|
|
63
63
|
"typescript": "^5.5.3",
|
|
64
64
|
"vite": "^5.3.3",
|
|
65
|
-
"vitest": "^
|
|
65
|
+
"vitest": "^2.0.3",
|
|
66
66
|
"vitest-mock-extended": "^1.3.1"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
69
|
"clean": "tsc --build --clean",
|
|
70
|
-
"
|
|
70
|
+
"typecheck": "tsc --noEmit",
|
|
71
71
|
"test": "vitest run",
|
|
72
72
|
"test:watch": "vitest dev",
|
|
73
73
|
"test:ui": "vitest --coverage.enabled=true --ui",
|
|
74
74
|
"test:coverage": "vitest run --coverage",
|
|
75
75
|
"build": "tsc --build",
|
|
76
76
|
"build:clean": "pnpm run clean && pnpm run build",
|
|
77
|
-
"watch": "tsc --build --watch",
|
|
78
|
-
"
|
|
77
|
+
"build:watch": "tsc --build --watch",
|
|
78
|
+
"format": "prettier --write \"src/**/*.+(js|ts|json)\"",
|
|
79
79
|
"lint": "eslint --ext .ts src",
|
|
80
80
|
"lint:fix": "pnpm run lint --fix",
|
|
81
|
-
"
|
|
82
|
-
"ncu": "ncu --peer -x @
|
|
83
|
-
"ncu:save": "ncu --peer -x @passlock/* -x effect -u"
|
|
81
|
+
"ncu": "ncu --peer -x @effect/* -x effect",
|
|
82
|
+
"ncu:save": "ncu --peer -x @effect/* -x effect -u"
|
|
84
83
|
}
|
|
85
84
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
AuthenticationClient,
|
|
3
|
+
OptionsRes,
|
|
4
|
+
VerificationReq,
|
|
5
|
+
VerificationRes,
|
|
5
6
|
} from '@passlock/shared/dist/rpc/authentication.js'
|
|
6
|
-
import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js'
|
|
7
7
|
import { IsExistingUserRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js'
|
|
8
|
-
import type { AuthenticationCredential } from '@passlock/shared/dist/schema/
|
|
8
|
+
import type { AuthenticationCredential } from '@passlock/shared/dist/schema/passkey.js'
|
|
9
9
|
import { Effect as E, Layer as L } from 'effect'
|
|
10
10
|
import * as Fixtures from '../test/fixtures.js'
|
|
11
11
|
import { GetCredential, type AuthenticationRequest } from './authenticate.js'
|
|
@@ -58,19 +58,11 @@ export const getCredentialTest = L.succeed(
|
|
|
58
58
|
)
|
|
59
59
|
|
|
60
60
|
export const rpcClientTest = L.succeed(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
preConnect: () => E.succeed(Fixtures.preConnectRes),
|
|
64
|
-
isExistingUser: () => E.succeed(rpcIsExistingUserRes),
|
|
65
|
-
verifyEmail: () => E.succeed(rpcVerifyEmailRes),
|
|
66
|
-
getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
|
|
67
|
-
verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
|
|
61
|
+
AuthenticationClient,
|
|
62
|
+
AuthenticationClient.of({
|
|
68
63
|
getAuthenticationOptions: () => E.succeed(rpcOptionsRes),
|
|
69
64
|
verifyAuthenticationCredential: () => E.succeed(rpcVerificationRes),
|
|
70
|
-
|
|
71
|
-
authenticateOidc: () => E.fail(Fixtures.notImplemented),
|
|
72
|
-
resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
|
|
73
|
-
}),
|
|
65
|
+
})
|
|
74
66
|
)
|
|
75
67
|
|
|
76
68
|
export const principal = Fixtures.principal
|
|
@@ -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'
|
|
@@ -33,15 +33,15 @@ describe('authenticate should', () => {
|
|
|
33
33
|
const service = yield* _(AuthenticationService)
|
|
34
34
|
yield* _(service.authenticatePasskey({ userVerification: 'preferred' }))
|
|
35
35
|
|
|
36
|
-
const rpcClient = yield* _(
|
|
36
|
+
const rpcClient = yield* _(AuthenticationClient)
|
|
37
37
|
expect(rpcClient.getAuthenticationOptions).toHaveBeenCalledOnce()
|
|
38
38
|
expect(rpcClient.verifyAuthenticationCredential).toHaveBeenCalledOnce()
|
|
39
39
|
})
|
|
40
40
|
|
|
41
41
|
const rpcClientTest = L.effect(
|
|
42
|
-
|
|
42
|
+
AuthenticationClient,
|
|
43
43
|
E.sync(() => {
|
|
44
|
-
const rpcMock = mock<
|
|
44
|
+
const rpcMock = mock<AuthenticationClient['Type']>()
|
|
45
45
|
|
|
46
46
|
rpcMock.getAuthenticationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes))
|
|
47
47
|
rpcMock.verifyAuthenticationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes))
|
|
@@ -69,15 +69,15 @@ describe('authenticate should', () => {
|
|
|
69
69
|
const service = yield* _(AuthenticationService)
|
|
70
70
|
yield* _(service.authenticatePasskey({ userVerification: 'preferred' }))
|
|
71
71
|
|
|
72
|
-
const rpcClient = yield* _(
|
|
72
|
+
const rpcClient = yield* _(AuthenticationClient)
|
|
73
73
|
expect(rpcClient.getAuthenticationOptions).toHaveBeenCalledOnce()
|
|
74
74
|
expect(rpcClient.verifyAuthenticationCredential).toHaveBeenCalledWith(Fixture.rpcVerificationReq)
|
|
75
75
|
})
|
|
76
76
|
|
|
77
77
|
const rpcClientTest = L.effect(
|
|
78
|
-
|
|
78
|
+
AuthenticationClient,
|
|
79
79
|
E.sync(() => {
|
|
80
|
-
const rpcMock = mock<
|
|
80
|
+
const rpcMock = mock<AuthenticationClient['Type']>()
|
|
81
81
|
|
|
82
82
|
rpcMock.getAuthenticationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes))
|
|
83
83
|
rpcMock.verifyAuthenticationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes))
|