@passlock/client 0.9.21 → 0.9.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +125 -0
  2. package/dist/authentication/authenticate.d.ts +15 -15
  3. package/dist/authentication/authenticate.fixture.d.ts +20 -6
  4. package/dist/authentication/authenticate.fixture.js +7 -5
  5. package/dist/authentication/authenticate.fixture.js.map +1 -1
  6. package/dist/authentication/authenticate.js +19 -8
  7. package/dist/authentication/authenticate.js.map +1 -1
  8. package/dist/capabilities/capabilities.d.ts +8 -4
  9. package/dist/capabilities/capabilities.js +10 -1
  10. package/dist/capabilities/capabilities.js.map +1 -1
  11. package/dist/connection/connection.d.ts +11 -7
  12. package/dist/connection/connection.fixture.d.ts +2 -2
  13. package/dist/connection/connection.fixture.js +2 -1
  14. package/dist/connection/connection.fixture.js.map +1 -1
  15. package/dist/connection/connection.js +12 -3
  16. package/dist/connection/connection.js.map +1 -1
  17. package/dist/effect.d.ts +22 -45
  18. package/dist/effect.js +55 -51
  19. package/dist/effect.js.map +1 -1
  20. package/dist/email/email.d.ts +38 -11
  21. package/dist/email/email.fixture.d.ts +19 -5
  22. package/dist/email/email.fixture.js +4 -3
  23. package/dist/email/email.fixture.js.map +1 -1
  24. package/dist/email/email.js +43 -7
  25. package/dist/email/email.js.map +1 -1
  26. package/dist/event/event.d.ts +3 -1
  27. package/dist/event/event.js +3 -0
  28. package/dist/event/event.js.map +1 -1
  29. package/dist/index.d.ts +105 -27
  30. package/dist/index.js +101 -50
  31. package/dist/index.js.map +1 -1
  32. package/dist/logging/eventLogger.d.ts +13 -1
  33. package/dist/logging/eventLogger.js +13 -0
  34. package/dist/logging/eventLogger.js.map +1 -1
  35. package/dist/registration/register.d.ts +18 -21
  36. package/dist/registration/register.fixture.d.ts +19 -5
  37. package/dist/registration/register.fixture.js +14 -7
  38. package/dist/registration/register.fixture.js.map +1 -1
  39. package/dist/registration/register.js +18 -9
  40. package/dist/registration/register.js.map +1 -1
  41. package/dist/rpc/authentication.d.ts +0 -1
  42. package/dist/rpc/authentication.js +1 -0
  43. package/dist/rpc/authentication.js.map +1 -1
  44. package/dist/rpc/client.d.ts +4 -1
  45. package/dist/rpc/client.js +12 -2
  46. package/dist/rpc/client.js.map +1 -1
  47. package/dist/rpc/config.d.ts +0 -1
  48. package/dist/rpc/connection.d.ts +0 -1
  49. package/dist/rpc/connection.js +1 -0
  50. package/dist/rpc/connection.js.map +1 -1
  51. package/dist/rpc/registration.d.ts +0 -1
  52. package/dist/rpc/registration.js +1 -0
  53. package/dist/rpc/registration.js.map +1 -1
  54. package/dist/rpc/social.d.ts +0 -1
  55. package/dist/rpc/social.js +1 -0
  56. package/dist/rpc/social.js.map +1 -1
  57. package/dist/rpc/user.d.ts +0 -1
  58. package/dist/rpc/user.js +1 -0
  59. package/dist/rpc/user.js.map +1 -1
  60. package/dist/social/social.d.ts +16 -23
  61. package/dist/social/social.fixture.d.ts +21 -9
  62. package/dist/social/social.fixture.js +8 -14
  63. package/dist/social/social.fixture.js.map +1 -1
  64. package/dist/social/social.js +14 -10
  65. package/dist/social/social.js.map +1 -1
  66. package/dist/storage/storage.d.ts +40 -12
  67. package/dist/storage/storage.fixture.d.ts +2 -2
  68. package/dist/storage/storage.fixture.js +2 -2
  69. package/dist/storage/storage.fixture.js.map +1 -1
  70. package/dist/storage/storage.js +48 -15
  71. package/dist/storage/storage.js.map +1 -1
  72. package/dist/test/fixtures.d.ts +1 -2
  73. package/dist/test/fixtures.js +20 -5
  74. package/dist/test/fixtures.js.map +1 -1
  75. package/dist/user/user.d.ts +8 -5
  76. package/dist/user/user.fixture.d.ts +2 -2
  77. package/dist/user/user.fixture.js +9 -5
  78. package/dist/user/user.fixture.js.map +1 -1
  79. package/dist/user/user.js +9 -3
  80. package/dist/user/user.js.map +1 -1
  81. package/dist/version.d.ts +1 -2
  82. package/dist/version.js +1 -1
  83. package/dist/version.js.map +1 -1
  84. package/package.json +39 -33
  85. package/src/authentication/authenticate.fixture.ts +8 -7
  86. package/src/authentication/authenticate.test.ts +59 -17
  87. package/src/authentication/authenticate.ts +34 -32
  88. package/src/capabilities/capabilities.ts +9 -8
  89. package/src/connection/connection.fixture.ts +2 -1
  90. package/src/connection/connection.test.ts +3 -3
  91. package/src/connection/connection.ts +9 -8
  92. package/src/effect.ts +129 -128
  93. package/src/email/email.fixture.ts +4 -3
  94. package/src/email/email.test.ts +4 -4
  95. package/src/email/email.ts +24 -16
  96. package/src/index.ts +225 -169
  97. package/src/logging/eventLogger.test.ts +1 -1
  98. package/src/logging/eventLogger.ts +2 -2
  99. package/src/registration/register.fixture.ts +14 -8
  100. package/src/registration/register.test.ts +13 -9
  101. package/src/registration/register.ts +37 -34
  102. package/src/rpc/authentication.ts +31 -0
  103. package/src/rpc/client.ts +173 -0
  104. package/src/rpc/config.ts +18 -0
  105. package/src/rpc/connection.ts +24 -0
  106. package/src/rpc/registration.ts +31 -0
  107. package/src/rpc/social.ts +36 -0
  108. package/src/rpc/user.ts +42 -0
  109. package/src/social/social.fixture.ts +10 -18
  110. package/src/social/social.test.ts +13 -29
  111. package/src/social/social.ts +20 -47
  112. package/src/storage/storage.fixture.ts +3 -4
  113. package/src/storage/storage.test.ts +28 -19
  114. package/src/storage/storage.ts +36 -36
  115. package/src/test/fixtures.ts +21 -6
  116. package/src/user/user.fixture.ts +17 -7
  117. package/src/user/user.test.ts +2 -5
  118. package/src/user/user.ts +13 -9
  119. package/src/version.ts +1 -0
  120. package/dist/authentication/authenticate.d.ts.map +0 -1
  121. package/dist/authentication/authenticate.fixture.d.ts.map +0 -1
  122. package/dist/authentication/authenticate.test.d.ts +0 -2
  123. package/dist/authentication/authenticate.test.d.ts.map +0 -1
  124. package/dist/authentication/authenticate.test.js +0 -111
  125. package/dist/authentication/authenticate.test.js.map +0 -1
  126. package/dist/capabilities/capabilities.d.ts.map +0 -1
  127. package/dist/config.d.ts +0 -18
  128. package/dist/config.d.ts.map +0 -1
  129. package/dist/config.js +0 -20
  130. package/dist/config.js.map +0 -1
  131. package/dist/connection/connection.d.ts.map +0 -1
  132. package/dist/connection/connection.fixture.d.ts.map +0 -1
  133. package/dist/connection/connection.test.d.ts +0 -2
  134. package/dist/connection/connection.test.d.ts.map +0 -1
  135. package/dist/connection/connection.test.js +0 -36
  136. package/dist/connection/connection.test.js.map +0 -1
  137. package/dist/effect.d.ts.map +0 -1
  138. package/dist/email/email.d.ts.map +0 -1
  139. package/dist/email/email.fixture.d.ts.map +0 -1
  140. package/dist/email/email.test.d.ts +0 -2
  141. package/dist/email/email.test.d.ts.map +0 -1
  142. package/dist/email/email.test.js +0 -99
  143. package/dist/email/email.test.js.map +0 -1
  144. package/dist/event/event.d.ts.map +0 -1
  145. package/dist/event/event.node.test.d.ts +0 -2
  146. package/dist/event/event.node.test.d.ts.map +0 -1
  147. package/dist/event/event.node.test.js +0 -13
  148. package/dist/event/event.node.test.js.map +0 -1
  149. package/dist/event/event.test.d.ts +0 -2
  150. package/dist/event/event.test.d.ts.map +0 -1
  151. package/dist/event/event.test.js +0 -30
  152. package/dist/event/event.test.js.map +0 -1
  153. package/dist/index.d.ts.map +0 -1
  154. package/dist/logging/eventLogger.d.ts.map +0 -1
  155. package/dist/logging/eventLogger.test.d.ts +0 -2
  156. package/dist/logging/eventLogger.test.d.ts.map +0 -1
  157. package/dist/logging/eventLogger.test.js +0 -67
  158. package/dist/logging/eventLogger.test.js.map +0 -1
  159. package/dist/registration/register.d.ts.map +0 -1
  160. package/dist/registration/register.fixture.d.ts.map +0 -1
  161. package/dist/registration/register.test.d.ts +0 -2
  162. package/dist/registration/register.test.d.ts.map +0 -1
  163. package/dist/registration/register.test.js +0 -104
  164. package/dist/registration/register.test.js.map +0 -1
  165. package/dist/rpc/authentication.d.ts.map +0 -1
  166. package/dist/rpc/client.d.ts.map +0 -1
  167. package/dist/rpc/config.d.ts.map +0 -1
  168. package/dist/rpc/connection.d.ts.map +0 -1
  169. package/dist/rpc/registration.d.ts.map +0 -1
  170. package/dist/rpc/social.d.ts.map +0 -1
  171. package/dist/rpc/user.d.ts.map +0 -1
  172. package/dist/social/social.d.ts.map +0 -1
  173. package/dist/social/social.fixture.d.ts.map +0 -1
  174. package/dist/social/social.test.d.ts +0 -2
  175. package/dist/social/social.test.d.ts.map +0 -1
  176. package/dist/social/social.test.js +0 -110
  177. package/dist/social/social.test.js.map +0 -1
  178. package/dist/storage/storage.d.ts.map +0 -1
  179. package/dist/storage/storage.fixture.d.ts.map +0 -1
  180. package/dist/storage/storage.test.d.ts +0 -2
  181. package/dist/storage/storage.test.d.ts.map +0 -1
  182. package/dist/storage/storage.test.js +0 -120
  183. package/dist/storage/storage.test.js.map +0 -1
  184. package/dist/test/fixtures.d.ts.map +0 -1
  185. package/dist/user/user.d.ts.map +0 -1
  186. package/dist/user/user.fixture.d.ts.map +0 -1
  187. package/dist/user/user.test.d.ts +0 -2
  188. package/dist/user/user.test.d.ts.map +0 -1
  189. package/dist/user/user.test.js +0 -56
  190. package/dist/user/user.test.js.map +0 -1
  191. package/dist/version.d.ts.map +0 -1
  192. package/src/config.ts +0 -42
@@ -1,104 +0,0 @@
1
- import { Duplicate, InternalBrowserError } from '@passlock/shared/dist/error/error.js';
2
- import { RegistrationClient } from '@passlock/shared/dist/rpc/registration.js';
3
- import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
4
- import { describe, expect, test, vi } from 'vitest';
5
- import { mock } from 'vitest-mock-extended';
6
- import * as Fixture from './register.fixture.js';
7
- import { CreateCredential, RegistrationService, RegistrationServiceLive } from './register.js';
8
- describe('register should', () => {
9
- test('return a valid credential', async () => {
10
- const assertions = E.gen(function* (_) {
11
- const service = yield* _(RegistrationService);
12
- const result = yield* _(service.registerPasskey(Fixture.registrationRequest));
13
- expect(result).toEqual(Fixture.principal);
14
- });
15
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest));
16
- const effect = pipe(E.provide(assertions, service), Logger.withMinimumLogLevel(LogLevel.None));
17
- return E.runPromise(effect);
18
- });
19
- test('pass the registration data to the backend', async () => {
20
- const assertions = E.gen(function* (_) {
21
- const service = yield* _(RegistrationService);
22
- yield* _(service.registerPasskey(Fixture.registrationRequest));
23
- const rpcClient = yield* _(RegistrationClient);
24
- expect(rpcClient.getRegistrationOptions).toHaveBeenCalledWith(Fixture.rpcOptionsReq);
25
- });
26
- const rpcClientTest = L.effect(RegistrationClient, E.sync(() => {
27
- const rpcMock = mock();
28
- rpcMock.getRegistrationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
29
- rpcMock.verifyRegistrationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
30
- return rpcMock;
31
- }));
32
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
33
- const layers = Layer.merge(service, rpcClientTest);
34
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
35
- return E.runPromise(effect);
36
- });
37
- test('send the new credential to the backend', async () => {
38
- const assertions = E.gen(function* (_) {
39
- const service = yield* _(RegistrationService);
40
- yield* _(service.registerPasskey(Fixture.registrationRequest));
41
- const rpcClient = yield* _(RegistrationClient);
42
- expect(rpcClient.verifyRegistrationCredential).toHaveBeenCalledWith(Fixture.rpcVerificationReq);
43
- });
44
- const rpcClientTest = L.effect(RegistrationClient, E.sync(() => {
45
- const rpcMock = mock();
46
- rpcMock.getRegistrationOptions.mockReturnValue(E.succeed(Fixture.rpcOptionsRes));
47
- rpcMock.verifyRegistrationCredential.mockReturnValue(E.succeed(Fixture.rpcVerificationRes));
48
- return rpcMock;
49
- }));
50
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
51
- const layers = Layer.merge(service, rpcClientTest);
52
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
53
- return E.runPromise(effect);
54
- });
55
- test('short-circuit if the user is already registered', async () => {
56
- const assertions = E.gen(function* (_) {
57
- const service = yield* _(RegistrationService);
58
- const error = yield* _(service.registerPasskey(Fixture.registrationRequest), E.flip);
59
- expect(error).toBeInstanceOf(Duplicate);
60
- });
61
- const rpcClientTest = L.effect(RegistrationClient, E.sync(() => {
62
- const rpcMock = mock();
63
- rpcMock.getRegistrationOptions.mockReturnValue(E.fail(new Duplicate({ message: 'User already exists' })));
64
- return rpcMock;
65
- }));
66
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.createCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.userServiceTest), L.provide(rpcClientTest));
67
- const layers = Layer.merge(service, rpcClientTest);
68
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
69
- return E.runPromise(effect);
70
- });
71
- test('return an error if we try to re-register a credential', async () => {
72
- const assertions = E.gen(function* (_) {
73
- const service = yield* _(RegistrationService);
74
- const defect = yield* _(service.registerPasskey(Fixture.registrationRequest), E.flip);
75
- expect(defect).toBeInstanceOf(Duplicate);
76
- });
77
- const createTest = L.effect(CreateCredential, E.sync(() => {
78
- const createTest = vi.fn();
79
- createTest.mockReturnValue(E.fail(new Duplicate({ message: 'boom!' })));
80
- return createTest;
81
- }));
82
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest), L.provide(createTest));
83
- const layers = Layer.merge(service, createTest);
84
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
85
- return E.runPromise(effect);
86
- });
87
- test("throw an error if the browser can't create a credential", async () => {
88
- const assertions = E.gen(function* (_) {
89
- const service = yield* _(RegistrationService);
90
- const defect = yield* _(service.registerPasskey(Fixture.registrationRequest), E.catchAllDefect(defect => E.succeed(defect)));
91
- expect(defect).toBeInstanceOf(InternalBrowserError);
92
- });
93
- const createTest = L.effect(CreateCredential, E.sync(() => {
94
- const createTest = vi.fn();
95
- createTest.mockReturnValue(E.fail(new InternalBrowserError({ message: 'boom!' })));
96
- return createTest;
97
- }));
98
- const service = pipe(RegistrationServiceLive, L.provide(Fixture.userServiceTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.storageServiceTest), L.provide(Fixture.rpcClientTest), L.provide(createTest));
99
- const layers = Layer.merge(service, createTest);
100
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
101
- return E.runPromise(effect);
102
- });
103
- });
104
- //# sourceMappingURL=register.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.test.js","sourceRoot":"","sources":["../../src/registration/register.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../src/rpc/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkI,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACxN,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;;AAIzD,qBAAa,oBAAqB,SAAQ,yBAGvC;CAAG;AAEN,eAAO,MAAM,wBAAwB,sDAmBpC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/rpc/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;;SAMQ,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC;UAC3D,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC;;AAJpF,qBAAa,UAAW,SAAQ,eAM7B;CAAG;AAKN,eAAO,MAAM,cAAc,2DA0G1B,CAAA;AAED,eAAO,MAAM,cAAc,GACxB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBACP,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,eAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,cAC7B,UAAU,CAAC,MAAM,CAAC,YAEzB,MAAM;;;;UAYV,CAAA;AAEL,eAAO,MAAM,eAAe,GACzB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBACrB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,kBAC3B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,eAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,cAC7B,UAAU,CAAC,MAAM,CAAC,YAEzB,MAAM,WAAW,GAAG;;;;UAc1B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/rpc/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;;eAKjB,MAAM;eACN,MAAM;cACP,MAAM;;AALpB,qBAAa,SAAU,SAAQ,cAO5B;CAAG;;cAKQ,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;;AAHxC,qBAAa,aAAc,SAAQ,kBAKhC;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/rpc/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC9G,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAA;;AAIxD,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG;AAEN,eAAO,MAAM,oBAAoB,kDAWhC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../src/rpc/registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+F,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AACjL,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;;AAIzD,qBAAa,kBAAmB,SAAQ,uBAGrC;CAAG;AAEN,eAAO,MAAM,sBAAsB,oDAmBlC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/rpc/social.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkF,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxJ,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAC7D,eAAO,MAAM,kBAAkB,sBAAsB,CAAA;;AAErD,qBAAa,YAAa,SAAQ,iBAA4D;CAAG;AAEjG,eAAO,MAAM,gBAAgB,8CAwB5B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/rpc/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAkN,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;AACpR,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;;AAIzD,qBAAa,UAAW,SAAQ,eAAsD;CAAG;AAEzF,eAAO,MAAM,cAAc,4CAgC1B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/social/social.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,EACV,SAAS,EACV,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAI1D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAID,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAA;AAEtF,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC,cAAc,CAAA;AAIpF,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAChF,gBAAgB,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;CAC3F,CAAA;AAED,eAAO,MAAM,aAAa,2CAEzB,CAAA;AAID,KAAK,YAAY,GAAG,YAAY,CAAA;AAEhC,eAAO,MAAM,YAAY,YACd,eAAe,KACvB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,YAAY,CAkBtD,CAAA;AAED,eAAO,MAAM,gBAAgB,YAClB,mBAAmB,KAC3B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAaxD,CAAA;AAKD,eAAO,MAAM,iBAAiB,wDAU7B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"social.fixture.d.ts","sourceRoot":"","sources":["../../src/social/social.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAA;AAE7D,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvE,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,eAAe,EAAE,eAM7B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,mBAIzB,CAAA;AAED,eAAO,MAAM,cAAc,wBAIzB,CAAA;AAEF,eAAO,MAAM,cAAc,qBAA6D,CAAA;AAExF,eAAO,MAAM,kBAAkB,oBAA6C,CAAA;AAE5E,eAAO,MAAM,kBAAkB,qBAA6D,CAAA;AAE5F,eAAO,MAAM,aAAa,4CAMzB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,gBAAgB,+EAA4B,CAAA;AAEzD,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=social.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"social.test.d.ts","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":""}
@@ -1,110 +0,0 @@
1
- import { Duplicate, NotFound } from '@passlock/shared/dist/error/error.js';
2
- import { SocialClient } from '@passlock/shared/dist/rpc/social.js';
3
- import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
4
- import { describe, expect, test } from 'vitest';
5
- import { mock } from 'vitest-mock-extended';
6
- import * as Fixture from './social.fixture.js';
7
- import { SocialService, SocialServiceLive } from './social.js';
8
- describe('registerOidc should', () => {
9
- test('return a valid credential', async () => {
10
- const assertions = E.gen(function* (_) {
11
- const service = yield* _(SocialService);
12
- const result = yield* _(service.registerOidc(Fixture.registerOidcReq));
13
- expect(result).toEqual(Fixture.principal);
14
- });
15
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
16
- const rpcMock = mock();
17
- rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
18
- return rpcMock;
19
- }));
20
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
21
- const layers = Layer.merge(service, rpcClientTest);
22
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
23
- return E.runPromise(effect);
24
- });
25
- test('pass the request to the backend', async () => {
26
- const assertions = E.gen(function* (_) {
27
- const service = yield* _(SocialService);
28
- yield* _(service.registerOidc(Fixture.registerOidcReq));
29
- const rpcClient = yield* _(SocialClient);
30
- expect(rpcClient.registerOidc).toHaveBeenCalledWith(Fixture.rpcRegisterReq);
31
- });
32
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
33
- const rpcMock = mock();
34
- rpcMock.registerOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
35
- return rpcMock;
36
- }));
37
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
38
- const layers = Layer.merge(service, rpcClientTest);
39
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
40
- return E.runPromise(effect);
41
- });
42
- test('return an error if we try to register an existing user', async () => {
43
- const assertions = E.gen(function* (_) {
44
- const service = yield* _(SocialService);
45
- const defect = yield* _(service.registerOidc(Fixture.registerOidcReq), E.flip);
46
- expect(defect).toBeInstanceOf(Duplicate);
47
- });
48
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
49
- const rpcMock = mock();
50
- rpcMock.registerOidc.mockReturnValue(E.fail(new Duplicate({ message: "Duplicate user" })));
51
- return rpcMock;
52
- }));
53
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
54
- const layers = Layer.merge(service, rpcClientTest);
55
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
56
- return E.runPromise(effect);
57
- });
58
- });
59
- describe('authenticateIodc should', () => {
60
- test('return a valid credential', async () => {
61
- const assertions = E.gen(function* (_) {
62
- const service = yield* _(SocialService);
63
- const result = yield* _(service.authenticateOidc(Fixture.authOidcReq));
64
- expect(result).toEqual(Fixture.principal);
65
- });
66
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
67
- const rpcMock = mock();
68
- rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcRegisterRes));
69
- return rpcMock;
70
- }));
71
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
72
- const layers = Layer.merge(service, rpcClientTest);
73
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
74
- return E.runPromise(effect);
75
- });
76
- test('pass the request to the backend', async () => {
77
- const assertions = E.gen(function* (_) {
78
- const service = yield* _(SocialService);
79
- yield* _(service.authenticateOidc(Fixture.authOidcReq));
80
- const rpcClient = yield* _(SocialClient);
81
- expect(rpcClient.authenticateOidc).toHaveBeenCalledWith(Fixture.rpcAuthenticateReq);
82
- });
83
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
84
- const rpcMock = mock();
85
- rpcMock.authenticateOidc.mockReturnValue(E.succeed(Fixture.rpcAuthenticateRes));
86
- return rpcMock;
87
- }));
88
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
89
- const layers = Layer.merge(service, rpcClientTest);
90
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
91
- return E.runPromise(effect);
92
- });
93
- test('return an error if we try to authenticate a non-existing user', async () => {
94
- const assertions = E.gen(function* (_) {
95
- const service = yield* _(SocialService);
96
- const defect = yield* _(service.authenticateOidc(Fixture.authOidcReq), E.flip);
97
- expect(defect).toBeInstanceOf(NotFound);
98
- });
99
- const rpcClientTest = L.effect(SocialClient, E.sync(() => {
100
- const rpcMock = mock();
101
- rpcMock.authenticateOidc.mockReturnValue(E.fail(new NotFound({ message: "User not found" })));
102
- return rpcMock;
103
- }));
104
- const service = pipe(SocialServiceLive, L.provide(rpcClientTest));
105
- const layers = Layer.merge(service, rpcClientTest);
106
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
107
- return E.runPromise(effect);
108
- });
109
- });
110
- //# sourceMappingURL=social.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"social.test.js","sourceRoot":"","sources":["../../src/social/social.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.fixture.d.ts","sourceRoot":"","sources":["../../src/storage/storage.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAQ,MAAM,QAAQ,CAAA;AASjD,eAAO,MAAM,UAAU,aAAa,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,+EAIvD,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=storage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":""}
@@ -1,120 +0,0 @@
1
- import { Effect as E, Layer, LogLevel, Logger, identity, pipe } from 'effect';
2
- import { describe, expect, test } from 'vitest';
3
- import { mock } from 'vitest-mock-extended';
4
- import { principal, testLayers } from './storage.fixture.js';
5
- import { Storage, StorageService, clearExpiredToken, clearToken, getToken } from './storage.js';
6
- describe('storeToken should', () => {
7
- test('set the token in local storage', () => {
8
- const assertions = E.gen(function* (_) {
9
- const service = yield* _(StorageService);
10
- yield* _(service.storeToken(principal));
11
- const storage = yield* _(Storage);
12
- expect(storage.setItem).toHaveBeenCalled();
13
- });
14
- const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
15
- E.runSync(effect);
16
- });
17
- test('with the key passlock:passkey:token', () => {
18
- const assertions = E.gen(function* (_) {
19
- const service = yield* _(StorageService);
20
- yield* _(service.storeToken(principal));
21
- const storage = yield* _(Storage);
22
- expect(storage.setItem).toHaveBeenCalledWith('passlock:passkey:token', expect.any(String));
23
- });
24
- const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
25
- E.runSync(effect);
26
- });
27
- test('with the value token:expiry', () => {
28
- const assertions = E.gen(function* (_) {
29
- const service = yield* _(StorageService);
30
- yield* _(service.storeToken(principal));
31
- const storage = yield* _(Storage);
32
- const token = principal.token;
33
- const expiry = principal.expireAt.getTime();
34
- expect(storage.setItem).toHaveBeenCalledWith('passlock:passkey:token', `${token}:${expiry}`);
35
- });
36
- const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
37
- E.runSync(effect);
38
- });
39
- });
40
- describe('getToken should', () => {
41
- test('get the token from local storage', () => {
42
- const assertions = E.gen(function* (_) {
43
- const service = yield* _(StorageService);
44
- yield* _(service.getToken('passkey'));
45
- const storage = yield* _(Storage);
46
- expect(storage.getItem).toHaveBeenCalled();
47
- expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
48
- });
49
- const storageTest = Layer.effect(Storage, E.sync(() => {
50
- const mockStorage = mock();
51
- const expiry = Date.now() + 1000;
52
- mockStorage.getItem.mockReturnValue(`token:${expiry}`);
53
- return mockStorage;
54
- }));
55
- const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
56
- E.runSync(effect);
57
- });
58
- test('filter out expired tokens', () => {
59
- const assertions = pipe(getToken('passkey'), E.match({
60
- onSuccess: identity,
61
- onFailure: () => undefined,
62
- }), E.flatMap(result => E.sync(() => {
63
- expect(result).toBeUndefined();
64
- })));
65
- const storageTest = Layer.effect(Storage, E.sync(() => {
66
- const mockStorage = mock();
67
- const expiry = Date.now() - 1000;
68
- mockStorage.getItem.mockReturnValue(`token:${expiry}`);
69
- return mockStorage;
70
- }));
71
- const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
72
- E.runSync(effect);
73
- });
74
- });
75
- describe('clearToken should', () => {
76
- test('clear the token in local storage', () => {
77
- const assertions = E.gen(function* (_) {
78
- const storage = yield* _(Storage);
79
- yield* _(clearToken('passkey'));
80
- expect(storage.removeItem).toHaveBeenCalledWith('passlock:passkey:token');
81
- });
82
- const effect = pipe(E.provide(assertions, testLayers()), Logger.withMinimumLogLevel(LogLevel.None));
83
- E.runSync(effect);
84
- });
85
- });
86
- describe('clearExpiredToken should', () => {
87
- test('clear an expired token from local storage', () => {
88
- const assertions = E.gen(function* (_) {
89
- const storage = yield* _(Storage);
90
- yield* _(clearExpiredToken('passkey'));
91
- expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
92
- expect(storage.removeItem).toHaveBeenCalledWith('passlock:passkey:token');
93
- });
94
- const storageTest = Layer.effect(Storage, E.sync(() => {
95
- const mockStorage = mock();
96
- const expiry = Date.now() - 1000;
97
- mockStorage.getItem.mockReturnValue(`token:${expiry}`);
98
- return mockStorage;
99
- }));
100
- const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
101
- E.runSync(effect);
102
- });
103
- test('leave a live token in local storage', () => {
104
- const assertions = E.gen(function* (_) {
105
- const storage = yield* _(Storage);
106
- yield* _(clearExpiredToken('passkey'));
107
- expect(storage.getItem).toHaveBeenCalledWith('passlock:passkey:token');
108
- expect(storage.removeItem).not.toHaveBeenCalled();
109
- });
110
- const storageTest = Layer.effect(Storage, E.sync(() => {
111
- const mockStorage = mock();
112
- const expiry = Date.now() + 1000;
113
- mockStorage.getItem.mockReturnValue(`token:${expiry}`);
114
- return mockStorage;
115
- }));
116
- const effect = pipe(E.provide(assertions, testLayers(storageTest)), Logger.withMinimumLogLevel(LogLevel.None));
117
- E.runSync(effect);
118
- });
119
- });
120
- //# sourceMappingURL=storage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 +0,0 @@
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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=user.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.test.d.ts","sourceRoot":"","sources":["../../src/user/user.test.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import { UserClient } from '@passlock/shared/dist/rpc/user.js';
2
- import { Effect as E, Layer as L, Layer, LogLevel, Logger, pipe } from 'effect';
3
- import { describe, expect, test } from 'vitest';
4
- import { mock } from 'vitest-mock-extended';
5
- import * as Fixture from './user.fixture.js';
6
- import { UserService, UserServiceLive } from './user.js';
7
- describe('isExistingUser should', () => {
8
- test('return true when the user already has a passkey', async () => {
9
- const assertions = E.gen(function* (_) {
10
- const service = yield* _(UserService);
11
- const result = yield* _(service.isExistingUser({ email: Fixture.email }));
12
- expect(result).toBe(true);
13
- });
14
- const service = pipe(UserServiceLive, L.provide(Fixture.rpcClientTest));
15
- const effect = pipe(E.provide(assertions, service), Logger.withMinimumLogLevel(LogLevel.None));
16
- return E.runPromise(effect);
17
- });
18
- test('send the email to the backend', async () => {
19
- const assertions = E.gen(function* (_) {
20
- const service = yield* _(UserService);
21
- const result = yield* _(service.isExistingUser({ email: Fixture.email }));
22
- expect(result).toBe(false);
23
- const rpcClient = yield* _(UserClient);
24
- expect(rpcClient.isExistingUser).toBeCalledWith(Fixture.isRegisteredReq);
25
- });
26
- const rpcClientTest = Layer.effect(UserClient, E.sync(() => {
27
- const rpcMock = mock();
28
- rpcMock.isExistingUser.mockReturnValue(E.succeed(Fixture.isRegisteredRes));
29
- return rpcMock;
30
- }));
31
- const service = pipe(UserServiceLive, L.provide(rpcClientTest));
32
- const layers = L.merge(service, rpcClientTest);
33
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
34
- return E.runPromise(effect);
35
- });
36
- });
37
- describe('resendVerificationEmail should', () => {
38
- test('forward the request to the backend', async () => {
39
- const assertions = E.gen(function* (_) {
40
- const service = yield* _(UserService);
41
- yield* _(service.resendVerificationEmail(Fixture.resendEmailReq));
42
- const rpcClient = yield* _(UserClient);
43
- expect(rpcClient.resendVerificationEmail).toBeCalledWith(Fixture.rpcResendEmailReq);
44
- });
45
- const rpcClientTest = Layer.effect(UserClient, E.sync(() => {
46
- const rpcMock = mock();
47
- rpcMock.resendVerificationEmail.mockReturnValue(E.succeed(Fixture.rpcResendEmailRes));
48
- return rpcMock;
49
- }));
50
- const service = pipe(UserServiceLive, L.provide(rpcClientTest));
51
- const layers = L.merge(service, rpcClientTest);
52
- const effect = pipe(E.provide(assertions, layers), Logger.withMinimumLogLevel(LogLevel.None));
53
- return E.runPromise(effect);
54
- });
55
- });
56
- //# sourceMappingURL=user.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../src/user/user.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,eAAe,CAAA"}
package/src/config.ts DELETED
@@ -1,42 +0,0 @@
1
- import { RpcConfig } from '@passlock/shared/dist/rpc/config.js'
2
- import { Context, Layer } from 'effect'
3
-
4
- export const DefaultEndpoint = 'https://api.passlock.dev'
5
-
6
- export type Tenancy = {
7
- tenancyId: string
8
- clientId: string
9
- }
10
- export const Tenancy = Context.GenericTag<Tenancy>('@services/Tenancy')
11
-
12
- /**
13
- * Allow developers to override the endpoint e.g. to
14
- * point to a regional endpoint or a self-hosted backend
15
- */
16
- export type Endpoint = {
17
- endpoint?: string
18
- }
19
- export const Endpoint = Context.GenericTag<Endpoint>('@services/Endpoint')
20
-
21
- export type Config = Tenancy & Endpoint
22
- export const Config = Context.GenericTag<Config>('@services/Config')
23
-
24
- export const buildConfigLayers = (config: Config) => {
25
- const tenancyLayer = Layer.succeed(Tenancy, Tenancy.of(config))
26
- const endpointLayer = Layer.succeed(Endpoint, Endpoint.of(config))
27
- return Layer.mergeAll(tenancyLayer, endpointLayer)
28
- }
29
-
30
- export const buildRpcConfigLayers = (config: Config) => {
31
- const endpoint = config.endpoint || DefaultEndpoint
32
- return Layer.succeed(
33
- RpcConfig,
34
- RpcConfig.of({
35
- endpoint: endpoint,
36
- tenancyId: config.tenancyId,
37
- clientId: config.clientId,
38
- }),
39
- )
40
- }
41
-
42
- export type RequestDependencies = Endpoint | Tenancy | Storage | RpcConfig