@metamask/profile-sync-controller 0.1.0 → 0.1.2
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/CHANGELOG.md +24 -1
- package/dist/{chunk-DHHBHLVN.mjs → chunk-2XGRQBXI.mjs} +4 -4
- package/dist/{chunk-2MVOZPBN.js → chunk-5C53GKTU.js} +14 -6
- package/dist/chunk-5C53GKTU.js.map +1 -0
- package/dist/{chunk-K6G7X6PX.js → chunk-5SXXO4MV.js} +9 -9
- package/dist/{chunk-BFE6TB7Y.mjs → chunk-5TOWF6UW.mjs} +2 -2
- package/dist/{chunk-W7JFFMEZ.mjs → chunk-7SW3CC66.mjs} +13 -5
- package/dist/chunk-7SW3CC66.mjs.map +1 -0
- package/dist/{chunk-JTDFOATG.js → chunk-AK7OTIWA.js} +3 -3
- package/dist/{chunk-772MKTIO.mjs → chunk-AUFUOKJW.mjs} +2 -2
- package/dist/{chunk-6TK7544L.js → chunk-AVOOINGJ.js} +27 -27
- package/dist/{chunk-UEZI2POO.mjs → chunk-AXWK4Y23.mjs} +4 -4
- package/dist/{chunk-VTM5T7Y4.mjs → chunk-B5DBQDB3.mjs} +2 -2
- package/dist/{chunk-7FCK4BY3.js → chunk-B6CSNLGE.js} +3 -3
- package/dist/{chunk-XUPRRLBI.js → chunk-BOET676P.js} +8 -8
- package/dist/{chunk-YWA77VMP.mjs → chunk-CAIIVJAO.mjs} +1 -1
- package/dist/chunk-CAIIVJAO.mjs.map +1 -0
- package/dist/{chunk-3FJQHCCQ.mjs → chunk-FCT2LIGH.mjs} +5 -5
- package/dist/{chunk-GLS4QZF6.mjs → chunk-FQ5SDMRE.mjs} +1 -1
- package/dist/chunk-FQ5SDMRE.mjs.map +1 -0
- package/dist/{chunk-BVM4HBM4.js → chunk-FRVMGTOY.js} +13 -39
- package/dist/chunk-FRVMGTOY.js.map +1 -0
- package/dist/{chunk-WAS6V24H.js → chunk-GWBBZZVV.js} +39 -30
- package/dist/chunk-GWBBZZVV.js.map +1 -0
- package/dist/chunk-H4TDS65R.js +81 -0
- package/dist/chunk-H4TDS65R.js.map +1 -0
- package/dist/chunk-IGY2S5BC.js +36 -0
- package/dist/{chunk-UWRKMJBI.mjs → chunk-JLDFMYAH.mjs} +3 -3
- package/dist/{chunk-QE2F5AZL.mjs → chunk-K5UKU454.mjs} +2 -2
- package/dist/{chunk-QHL6SQTC.mjs → chunk-KKB3U6KO.mjs} +10 -36
- package/dist/chunk-KKB3U6KO.mjs.map +1 -0
- package/dist/{chunk-JAGWB4JI.mjs → chunk-LSVRA3X2.mjs} +13 -34
- package/dist/chunk-LSVRA3X2.mjs.map +1 -0
- package/dist/{chunk-DLXLU44Z.js → chunk-NLHLVVOO.js} +21 -21
- package/dist/{chunk-GLDUXN2T.js → chunk-P4DUDLMY.js} +24 -24
- package/dist/{chunk-LUKNP4HM.js → chunk-P52TG263.js} +19 -19
- package/dist/{chunk-T77FC4PB.js → chunk-PBRUOBEQ.js} +1 -1
- package/dist/chunk-PBRUOBEQ.js.map +1 -0
- package/dist/chunk-PTR4DAX6.js +79 -0
- package/dist/{chunk-LHDVZNW5.js → chunk-Q5WIUNX5.js} +37 -37
- package/dist/{chunk-PRDECQM6.mjs → chunk-QU3RCIV3.mjs} +15 -6
- package/dist/chunk-QU3RCIV3.mjs.map +1 -0
- package/dist/{chunk-4OMJ7A6A.js → chunk-SMKTWM6I.js} +1 -1
- package/dist/chunk-SMKTWM6I.js.map +1 -0
- package/dist/{chunk-JWTNHCVG.js → chunk-T3FNDVE3.js} +13 -13
- package/dist/{chunk-PNZGAAT4.mjs → chunk-TGFMKARH.mjs} +5 -4
- package/dist/chunk-TGFMKARH.mjs.map +1 -0
- package/dist/chunk-U5UIDVOO.mjs +36 -0
- package/dist/{chunk-7VMXBDXN.mjs → chunk-WB6MUIML.mjs} +2 -2
- package/dist/{chunk-IZHWP5VW.mjs → chunk-WJCKQLKK.mjs} +9 -9
- package/dist/{chunk-LN2BY2QF.mjs → chunk-Y46NMA3V.mjs} +3 -3
- package/dist/{chunk-ARWL2LBB.js → chunk-YASNOFBV.js} +38 -37
- package/dist/chunk-YASNOFBV.js.map +1 -0
- package/dist/controllers/authentication/AuthenticationController.js +15 -13
- package/dist/controllers/authentication/AuthenticationController.mjs +16 -14
- package/dist/controllers/authentication/auth-snap-requests.js +1 -1
- package/dist/controllers/authentication/auth-snap-requests.mjs +1 -1
- package/dist/controllers/authentication/index.js +16 -15
- package/dist/controllers/authentication/index.mjs +17 -16
- package/dist/controllers/authentication/services.js +12 -12
- package/dist/controllers/authentication/services.mjs +11 -11
- package/dist/controllers/index.js +20 -21
- package/dist/controllers/index.mjs +19 -20
- package/dist/controllers/user-storage/UserStorageController.js +18 -16
- package/dist/controllers/user-storage/UserStorageController.mjs +19 -17
- package/dist/controllers/user-storage/encryption/cache.js +1 -1
- package/dist/controllers/user-storage/encryption/cache.mjs +1 -1
- package/dist/controllers/user-storage/encryption/encryption.js +3 -3
- package/dist/controllers/user-storage/encryption/encryption.mjs +2 -2
- package/dist/controllers/user-storage/encryption/index.js +4 -4
- package/dist/controllers/user-storage/encryption/index.mjs +3 -3
- package/dist/controllers/user-storage/encryption/utils.js +1 -1
- package/dist/controllers/user-storage/encryption/utils.mjs +1 -1
- package/dist/controllers/user-storage/index.js +19 -18
- package/dist/controllers/user-storage/index.mjs +20 -19
- package/dist/controllers/user-storage/schema.js +5 -5
- package/dist/controllers/user-storage/schema.mjs +4 -4
- package/dist/controllers/user-storage/services.js +15 -15
- package/dist/controllers/user-storage/services.mjs +14 -14
- package/dist/index.js +20 -21
- package/dist/index.mjs +19 -20
- package/dist/sdk/authentication-jwt-bearer/flow-siwe.js +6 -6
- package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +5 -5
- package/dist/sdk/authentication-jwt-bearer/flow-srp.js +6 -6
- package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +5 -5
- package/dist/sdk/authentication-jwt-bearer/services.js +5 -5
- package/dist/sdk/authentication-jwt-bearer/services.mjs +4 -4
- package/dist/sdk/authentication-jwt-bearer/types.js +3 -3
- package/dist/sdk/authentication-jwt-bearer/types.mjs +2 -2
- package/dist/sdk/authentication.js +8 -8
- package/dist/sdk/authentication.mjs +7 -7
- package/dist/sdk/encryption.js +3 -3
- package/dist/sdk/encryption.mjs +2 -2
- package/dist/sdk/env.js +3 -3
- package/dist/sdk/env.mjs +2 -2
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/errors.mjs +1 -1
- package/dist/sdk/index.js +11 -11
- package/dist/sdk/index.mjs +10 -10
- package/dist/sdk/user-storage.js +5 -5
- package/dist/sdk/user-storage.mjs +4 -4
- package/dist/sdk/utils/eip-6963-metamask-provider.js +1 -1
- package/dist/sdk/utils/eip-6963-metamask-provider.mjs +1 -1
- package/dist/sdk/utils/messaging-signing-snap-requests.js +1 -1
- package/dist/sdk/utils/messaging-signing-snap-requests.mjs +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/controllers/authentication/AuthenticationController.d.ts +2 -1
- package/dist/types/controllers/authentication/AuthenticationController.d.ts.map +1 -1
- package/dist/types/controllers/authentication/__fixtures__/index.d.ts +0 -1
- package/dist/types/controllers/authentication/__fixtures__/index.d.ts.map +1 -1
- package/dist/types/controllers/authentication/services.d.ts +2 -1
- package/dist/types/controllers/authentication/services.d.ts.map +1 -1
- package/dist/types/controllers/user-storage/UserStorageController.d.ts +1 -0
- package/dist/types/controllers/user-storage/UserStorageController.d.ts.map +1 -1
- package/dist/types/controllers/user-storage/__fixtures__/index.d.ts +0 -1
- package/dist/types/controllers/user-storage/__fixtures__/index.d.ts.map +1 -1
- package/dist/types/sdk/authentication-jwt-bearer/types.d.ts +1 -1
- package/dist/types/sdk/authentication-jwt-bearer/types.d.ts.map +1 -1
- package/dist/types/sdk/env.d.ts +2 -2
- package/dist/types/sdk/env.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-26CCETCM.mjs +0 -70
- package/dist/chunk-2MVOZPBN.js.map +0 -1
- package/dist/chunk-4OMJ7A6A.js.map +0 -1
- package/dist/chunk-ARWL2LBB.js.map +0 -1
- package/dist/chunk-BVM4HBM4.js.map +0 -1
- package/dist/chunk-GJJT2CAL.js +0 -3342
- package/dist/chunk-GJJT2CAL.js.map +0 -1
- package/dist/chunk-GLS4QZF6.mjs.map +0 -1
- package/dist/chunk-JAGWB4JI.mjs.map +0 -1
- package/dist/chunk-JMU3OVPK.mjs +0 -3342
- package/dist/chunk-JMU3OVPK.mjs.map +0 -1
- package/dist/chunk-PNZGAAT4.mjs.map +0 -1
- package/dist/chunk-PRDECQM6.mjs.map +0 -1
- package/dist/chunk-QHL6SQTC.mjs.map +0 -1
- package/dist/chunk-QILE6KIE.js +0 -79
- package/dist/chunk-T77FC4PB.js.map +0 -1
- package/dist/chunk-V46WVGWN.js +0 -70
- package/dist/chunk-VYE2DKST.js +0 -102
- package/dist/chunk-VYE2DKST.js.map +0 -1
- package/dist/chunk-W7JFFMEZ.mjs.map +0 -1
- package/dist/chunk-WAS6V24H.js.map +0 -1
- package/dist/chunk-YWA77VMP.mjs.map +0 -1
- /package/dist/{chunk-DHHBHLVN.mjs.map → chunk-2XGRQBXI.mjs.map} +0 -0
- /package/dist/{chunk-K6G7X6PX.js.map → chunk-5SXXO4MV.js.map} +0 -0
- /package/dist/{chunk-BFE6TB7Y.mjs.map → chunk-5TOWF6UW.mjs.map} +0 -0
- /package/dist/{chunk-JTDFOATG.js.map → chunk-AK7OTIWA.js.map} +0 -0
- /package/dist/{chunk-772MKTIO.mjs.map → chunk-AUFUOKJW.mjs.map} +0 -0
- /package/dist/{chunk-6TK7544L.js.map → chunk-AVOOINGJ.js.map} +0 -0
- /package/dist/{chunk-UEZI2POO.mjs.map → chunk-AXWK4Y23.mjs.map} +0 -0
- /package/dist/{chunk-VTM5T7Y4.mjs.map → chunk-B5DBQDB3.mjs.map} +0 -0
- /package/dist/{chunk-7FCK4BY3.js.map → chunk-B6CSNLGE.js.map} +0 -0
- /package/dist/{chunk-XUPRRLBI.js.map → chunk-BOET676P.js.map} +0 -0
- /package/dist/{chunk-3FJQHCCQ.mjs.map → chunk-FCT2LIGH.mjs.map} +0 -0
- /package/dist/{chunk-V46WVGWN.js.map → chunk-IGY2S5BC.js.map} +0 -0
- /package/dist/{chunk-UWRKMJBI.mjs.map → chunk-JLDFMYAH.mjs.map} +0 -0
- /package/dist/{chunk-QE2F5AZL.mjs.map → chunk-K5UKU454.mjs.map} +0 -0
- /package/dist/{chunk-DLXLU44Z.js.map → chunk-NLHLVVOO.js.map} +0 -0
- /package/dist/{chunk-GLDUXN2T.js.map → chunk-P4DUDLMY.js.map} +0 -0
- /package/dist/{chunk-LUKNP4HM.js.map → chunk-P52TG263.js.map} +0 -0
- /package/dist/{chunk-QILE6KIE.js.map → chunk-PTR4DAX6.js.map} +0 -0
- /package/dist/{chunk-LHDVZNW5.js.map → chunk-Q5WIUNX5.js.map} +0 -0
- /package/dist/{chunk-JWTNHCVG.js.map → chunk-T3FNDVE3.js.map} +0 -0
- /package/dist/{chunk-26CCETCM.mjs.map → chunk-U5UIDVOO.mjs.map} +0 -0
- /package/dist/{chunk-7VMXBDXN.mjs.map → chunk-WB6MUIML.mjs.map} +0 -0
- /package/dist/{chunk-IZHWP5VW.mjs.map → chunk-WJCKQLKK.mjs.map} +0 -0
- /package/dist/{chunk-LN2BY2QF.mjs.map → chunk-Y46NMA3V.mjs.map} +0 -0
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var _chunkWAS6V24Hjs = require('./chunk-WAS6V24H.js');
|
|
4
3
|
|
|
4
|
+
var _chunkGWBBZZVVjs = require('./chunk-GWBBZZVV.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _chunk2MVOZPBNjs = require('./chunk-2MVOZPBN.js');
|
|
9
8
|
|
|
9
|
+
var _chunk5C53GKTUjs = require('./chunk-5C53GKTU.js');
|
|
10
10
|
|
|
11
|
-
var _chunkGJJT2CALjs = require('./chunk-GJJT2CAL.js');
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _chunkV46WVGWNjs = require('./chunk-V46WVGWN.js');
|
|
12
|
+
var _chunkIGY2S5BCjs = require('./chunk-IGY2S5BC.js');
|
|
16
13
|
|
|
17
14
|
// src/controllers/authentication/index.ts
|
|
18
15
|
var authentication_exports = {};
|
|
19
|
-
|
|
20
|
-
Controller: () =>
|
|
21
|
-
Mocks: () => fixtures_exports
|
|
16
|
+
_chunkIGY2S5BCjs.__export.call(void 0, authentication_exports, {
|
|
17
|
+
Controller: () => _chunkGWBBZZVVjs.AuthenticationController,
|
|
18
|
+
Mocks: () => fixtures_exports,
|
|
19
|
+
defaultState: () => _chunkGWBBZZVVjs.defaultState
|
|
22
20
|
});
|
|
23
21
|
|
|
24
22
|
// src/controllers/authentication/__fixtures__/index.ts
|
|
25
23
|
var fixtures_exports = {};
|
|
26
|
-
|
|
24
|
+
_chunkIGY2S5BCjs.__export.call(void 0, fixtures_exports, {
|
|
27
25
|
MOCK_ACCESS_TOKEN: () => MOCK_ACCESS_TOKEN,
|
|
28
26
|
MOCK_JWT: () => MOCK_JWT,
|
|
29
27
|
MOCK_LOGIN_RESPONSE: () => MOCK_LOGIN_RESPONSE,
|
|
@@ -32,10 +30,7 @@ _chunkV46WVGWNjs.__export.call(void 0, fixtures_exports, {
|
|
|
32
30
|
MOCK_OATH_TOKEN_RESPONSE: () => MOCK_OATH_TOKEN_RESPONSE,
|
|
33
31
|
getMockAuthAccessTokenResponse: () => getMockAuthAccessTokenResponse,
|
|
34
32
|
getMockAuthLoginResponse: () => getMockAuthLoginResponse,
|
|
35
|
-
getMockAuthNonceResponse: () => getMockAuthNonceResponse
|
|
36
|
-
mockEndpointAccessToken: () => mockEndpointAccessToken,
|
|
37
|
-
mockEndpointGetNonce: () => mockEndpointGetNonce,
|
|
38
|
-
mockEndpointLogin: () => mockEndpointLogin
|
|
33
|
+
getMockAuthNonceResponse: () => getMockAuthNonceResponse
|
|
39
34
|
});
|
|
40
35
|
|
|
41
36
|
// src/controllers/authentication/__fixtures__/mockResponses.ts
|
|
@@ -45,7 +40,7 @@ var MOCK_NONCE_RESPONSE = {
|
|
|
45
40
|
};
|
|
46
41
|
var getMockAuthNonceResponse = () => {
|
|
47
42
|
return {
|
|
48
|
-
url:
|
|
43
|
+
url: _chunk5C53GKTUjs.AUTH_NONCE_ENDPOINT,
|
|
49
44
|
requestMethod: "GET",
|
|
50
45
|
response: MOCK_NONCE_RESPONSE
|
|
51
46
|
};
|
|
@@ -64,7 +59,7 @@ var MOCK_LOGIN_RESPONSE = {
|
|
|
64
59
|
};
|
|
65
60
|
var getMockAuthLoginResponse = () => {
|
|
66
61
|
return {
|
|
67
|
-
url:
|
|
62
|
+
url: _chunk5C53GKTUjs.AUTH_LOGIN_ENDPOINT,
|
|
68
63
|
requestMethod: "POST",
|
|
69
64
|
response: MOCK_LOGIN_RESPONSE
|
|
70
65
|
};
|
|
@@ -78,35 +73,14 @@ var MOCK_OATH_TOKEN_RESPONSE = {
|
|
|
78
73
|
};
|
|
79
74
|
var getMockAuthAccessTokenResponse = () => {
|
|
80
75
|
return {
|
|
81
|
-
url:
|
|
76
|
+
url: _chunk5C53GKTUjs.OIDC_TOKENS_ENDPOINT,
|
|
82
77
|
requestMethod: "POST",
|
|
83
78
|
response: MOCK_OATH_TOKEN_RESPONSE
|
|
84
79
|
};
|
|
85
80
|
};
|
|
86
81
|
|
|
87
|
-
// src/controllers/authentication/__fixtures__/mockServices.ts
|
|
88
|
-
var import_nock = _chunkV46WVGWNjs.__toESM.call(void 0, _chunkGJJT2CALjs.require_nock.call(void 0, ));
|
|
89
|
-
var mockEndpointGetNonce = (mockReply) => {
|
|
90
|
-
const mockResponse = getMockAuthNonceResponse();
|
|
91
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
92
|
-
const mockNonceEndpoint = (0, import_nock.default)(mockResponse.url).get("").query(true).reply(reply.status, reply.body);
|
|
93
|
-
return mockNonceEndpoint;
|
|
94
|
-
};
|
|
95
|
-
var mockEndpointLogin = (mockReply) => {
|
|
96
|
-
const mockResponse = getMockAuthLoginResponse();
|
|
97
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
98
|
-
const mockLoginEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
|
|
99
|
-
return mockLoginEndpoint;
|
|
100
|
-
};
|
|
101
|
-
var mockEndpointAccessToken = (mockReply) => {
|
|
102
|
-
const mockResponse = getMockAuthAccessTokenResponse();
|
|
103
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
104
|
-
const mockOidcTokensEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
|
|
105
|
-
return mockOidcTokensEndpoint;
|
|
106
|
-
};
|
|
107
|
-
|
|
108
82
|
|
|
109
83
|
|
|
110
84
|
|
|
111
85
|
exports.fixtures_exports = fixtures_exports; exports.authentication_exports = authentication_exports;
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
86
|
+
//# sourceMappingURL=chunk-FRVMGTOY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/authentication/index.ts","../src/controllers/authentication/__fixtures__/index.ts","../src/controllers/authentication/__fixtures__/mockResponses.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACiBO,IAAM,aAAa;AACnB,IAAM,sBAAqC;AAAA,EAChD,OAAO;AACT;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,WACX;AACK,IAAM,sBAAqC;AAAA,EAChD,OAAO;AAAA;AAAA,EAEP,aAAY,oBAAI,KAAK,GAAE,SAAS;AAAA,EAChC,SAAS;AAAA;AAAA,IAEP,eAAe;AAAA;AAAA,IAEf,YAAY;AAAA,EACd;AACF;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,oBAAoB,qBAAqB,QAAQ;AACvD,IAAM,2BAA+C;AAAA;AAAA,EAE1D,cAAc;AAAA;AAAA,EAEd,aAAY,oBAAI,KAAK,GAAE,QAAQ;AACjC;AAEO,IAAM,iCAAiC,MAAM;AAClD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF","sourcesContent":["import Controller from './AuthenticationController';\n\nexport { Controller };\nexport * from './AuthenticationController';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\n","import type {\n LoginResponse,\n NonceResponse,\n OAuthTokenResponse,\n} from '../services';\nimport {\n AUTH_LOGIN_ENDPOINT,\n AUTH_NONCE_ENDPOINT,\n OIDC_TOKENS_ENDPOINT,\n} from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_NONCE = '4cbfqzoQpcNxVImGv';\nexport const MOCK_NONCE_RESPONSE: NonceResponse = {\n nonce: MOCK_NONCE,\n};\n\nexport const getMockAuthNonceResponse = () => {\n return {\n url: AUTH_NONCE_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_NONCE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\nexport const MOCK_LOGIN_RESPONSE: LoginResponse = {\n token: MOCK_JWT,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().toString(),\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: 'MOCK_IDENTIFIER',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'MOCK_PROFILE_ID',\n },\n};\n\nexport const getMockAuthLoginResponse = () => {\n return {\n url: AUTH_LOGIN_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_LOGIN_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_ACCESS_TOKEN = `MOCK_ACCESS_TOKEN-${MOCK_JWT}`;\nexport const MOCK_OATH_TOKEN_RESPONSE: OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: MOCK_ACCESS_TOKEN,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().getTime(),\n};\n\nexport const getMockAuthAccessTokenResponse = () => {\n return {\n url: OIDC_TOKENS_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_OATH_TOKEN_RESPONSE,\n } satisfies MockResponse;\n};\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk5C53GKTUjs = require('./chunk-5C53GKTU.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -13,13 +13,15 @@ var _chunkIPSBQ3MSjs = require('./chunk-IPSBQ3MS.js');
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkIGY2S5BCjs = require('./chunk-IGY2S5BC.js');
|
|
17
17
|
|
|
18
18
|
// src/controllers/authentication/AuthenticationController.ts
|
|
19
19
|
var _basecontroller = require('@metamask/base-controller');
|
|
20
20
|
var THIRTY_MIN_MS = 1e3 * 60 * 30;
|
|
21
21
|
var controllerName = "AuthenticationController";
|
|
22
|
-
var defaultState = {
|
|
22
|
+
var defaultState = {
|
|
23
|
+
isSignedIn: false
|
|
24
|
+
};
|
|
23
25
|
var metadata = {
|
|
24
26
|
isSignedIn: {
|
|
25
27
|
persist: true,
|
|
@@ -47,44 +49,47 @@ var AuthenticationController = class extends _basecontroller.BaseController {
|
|
|
47
49
|
* Constructor helper for registering this controller's messaging system
|
|
48
50
|
* actions.
|
|
49
51
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _registerMessageHandlers);
|
|
53
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _assertLoggedIn);
|
|
54
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _performAuthenticationFlow);
|
|
55
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _hasValidSession);
|
|
54
56
|
/**
|
|
55
57
|
* Returns the auth snap public key.
|
|
56
58
|
*
|
|
57
59
|
* @returns The snap public key.
|
|
58
60
|
*/
|
|
59
|
-
|
|
61
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _snapGetPublicKey);
|
|
60
62
|
/**
|
|
61
63
|
* Signs a specific message using an underlying auth snap.
|
|
62
64
|
*
|
|
63
65
|
* @param message - A specific tagged message to sign.
|
|
64
66
|
* @returns A Signature created by the snap.
|
|
65
67
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _snapSignMessage);
|
|
69
|
+
_chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _metametrics, void 0);
|
|
70
|
+
if (!metametrics) {
|
|
71
|
+
throw new Error("`metametrics` field is required");
|
|
72
|
+
}
|
|
73
|
+
_chunkIGY2S5BCjs.__privateSet.call(void 0, this, _metametrics, metametrics);
|
|
74
|
+
_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _registerMessageHandlers, registerMessageHandlers_fn).call(this);
|
|
70
75
|
}
|
|
71
76
|
async performSignIn() {
|
|
72
|
-
const { accessToken } = await
|
|
77
|
+
const { accessToken } = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _performAuthenticationFlow, performAuthenticationFlow_fn).call(this);
|
|
73
78
|
return accessToken;
|
|
74
79
|
}
|
|
75
80
|
performSignOut() {
|
|
76
|
-
|
|
81
|
+
_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _assertLoggedIn, assertLoggedIn_fn).call(this);
|
|
77
82
|
this.update((state) => {
|
|
78
83
|
state.isSignedIn = false;
|
|
79
84
|
state.sessionData = void 0;
|
|
80
85
|
});
|
|
81
86
|
}
|
|
82
87
|
async getBearerToken() {
|
|
83
|
-
|
|
84
|
-
if (
|
|
88
|
+
_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _assertLoggedIn, assertLoggedIn_fn).call(this);
|
|
89
|
+
if (_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _hasValidSession, hasValidSession_fn).call(this, this.state.sessionData)) {
|
|
85
90
|
return this.state.sessionData.accessToken;
|
|
86
91
|
}
|
|
87
|
-
const { accessToken } = await
|
|
92
|
+
const { accessToken } = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _performAuthenticationFlow, performAuthenticationFlow_fn).call(this);
|
|
88
93
|
return accessToken;
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
@@ -94,11 +99,11 @@ var AuthenticationController = class extends _basecontroller.BaseController {
|
|
|
94
99
|
* @returns profile for the session.
|
|
95
100
|
*/
|
|
96
101
|
async getSessionProfile() {
|
|
97
|
-
|
|
98
|
-
if (
|
|
102
|
+
_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _assertLoggedIn, assertLoggedIn_fn).call(this);
|
|
103
|
+
if (_chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _hasValidSession, hasValidSession_fn).call(this, this.state.sessionData)) {
|
|
99
104
|
return this.state.sessionData.profile;
|
|
100
105
|
}
|
|
101
|
-
const { profile } = await
|
|
106
|
+
const { profile } = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _performAuthenticationFlow, performAuthenticationFlow_fn).call(this);
|
|
102
107
|
return profile;
|
|
103
108
|
}
|
|
104
109
|
isSignedIn() {
|
|
@@ -140,16 +145,16 @@ assertLoggedIn_fn = function() {
|
|
|
140
145
|
_performAuthenticationFlow = new WeakSet();
|
|
141
146
|
performAuthenticationFlow_fn = async function() {
|
|
142
147
|
try {
|
|
143
|
-
const publicKey = await
|
|
144
|
-
const nonce = await
|
|
148
|
+
const publicKey = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _snapGetPublicKey, snapGetPublicKey_fn).call(this);
|
|
149
|
+
const nonce = await _chunk5C53GKTUjs.getNonce.call(void 0, publicKey);
|
|
145
150
|
if (!nonce) {
|
|
146
151
|
throw new Error(`Unable to get nonce`);
|
|
147
152
|
}
|
|
148
|
-
const rawMessage =
|
|
149
|
-
const signature = await
|
|
150
|
-
const loginResponse = await
|
|
151
|
-
metametricsId:
|
|
152
|
-
agent:
|
|
153
|
+
const rawMessage = _chunk5C53GKTUjs.createLoginRawMessage.call(void 0, nonce, publicKey);
|
|
154
|
+
const signature = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _snapSignMessage, snapSignMessage_fn).call(this, rawMessage);
|
|
155
|
+
const loginResponse = await _chunk5C53GKTUjs.login.call(void 0, rawMessage, signature, {
|
|
156
|
+
metametricsId: await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _metametrics).getMetaMetricsId(),
|
|
157
|
+
agent: _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _metametrics).agent
|
|
153
158
|
});
|
|
154
159
|
if (!loginResponse?.token) {
|
|
155
160
|
throw new Error(`Unable to login`);
|
|
@@ -158,7 +163,10 @@ performAuthenticationFlow_fn = async function() {
|
|
|
158
163
|
identifierId: loginResponse.profile.identifier_id,
|
|
159
164
|
profileId: loginResponse.profile.profile_id
|
|
160
165
|
};
|
|
161
|
-
const accessToken = await
|
|
166
|
+
const accessToken = await _chunk5C53GKTUjs.getAccessToken.call(void 0,
|
|
167
|
+
loginResponse.token,
|
|
168
|
+
_chunkIGY2S5BCjs.__privateGet.call(void 0, this, _metametrics).agent
|
|
169
|
+
);
|
|
162
170
|
if (!accessToken) {
|
|
163
171
|
throw new Error(`Unable to get Access Token`);
|
|
164
172
|
}
|
|
@@ -217,5 +225,6 @@ snapSignMessage_fn = function(message) {
|
|
|
217
225
|
|
|
218
226
|
|
|
219
227
|
|
|
220
|
-
|
|
221
|
-
|
|
228
|
+
|
|
229
|
+
exports.defaultState = defaultState; exports.AuthenticationController = AuthenticationController;
|
|
230
|
+
//# sourceMappingURL=chunk-GWBBZZVV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/authentication/AuthenticationController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { HandleSnapRequest } from '@metamask/snaps-controllers';\n\nimport type { UserStorageControllerDisableProfileSyncing } from '../user-storage/UserStorageController';\nimport {\n createSnapPublicKeyRequest,\n createSnapSignMessageRequest,\n} from './auth-snap-requests';\nimport {\n createLoginRawMessage,\n getAccessToken,\n getNonce,\n login,\n} from './services';\n\nconst THIRTY_MIN_MS = 1000 * 60 * 30;\n\nconst controllerName = 'AuthenticationController';\n\n// State\ntype SessionProfile = {\n identifierId: string;\n profileId: string;\n};\n\ntype SessionData = {\n /** profile - anonymous profile data for the given logged in user */\n profile: SessionProfile;\n /** accessToken - used to make requests authorized endpoints */\n accessToken: string;\n /** expiresIn - string date to determine if new access token is required */\n expiresIn: string;\n};\n\ntype MetaMetricsAuth = {\n getMetaMetricsId: () => string | Promise<string>;\n agent: 'extension' | 'mobile';\n};\n\nexport type AuthenticationControllerState = {\n /**\n * Global isSignedIn state.\n * Can be used to determine if \"Profile Syncing\" is enabled.\n */\n isSignedIn: boolean;\n sessionData?: SessionData;\n};\nexport const defaultState: AuthenticationControllerState = {\n isSignedIn: false,\n};\nconst metadata: StateMetadata<AuthenticationControllerState> = {\n isSignedIn: {\n persist: true,\n anonymous: true,\n },\n sessionData: {\n persist: true,\n anonymous: false,\n },\n};\n\n// Messenger Actions\ntype CreateActionsObj<Controller extends keyof AuthenticationController> = {\n [K in Controller]: {\n type: `${typeof controllerName}:${K}`;\n handler: AuthenticationController[K];\n };\n};\ntype ActionsObj = CreateActionsObj<\n | 'performSignIn'\n | 'performSignOut'\n | 'getBearerToken'\n | 'getSessionProfile'\n | 'isSignedIn'\n>;\nexport type Actions = ActionsObj[keyof ActionsObj];\nexport type AuthenticationControllerPerformSignIn = ActionsObj['performSignIn'];\nexport type AuthenticationControllerPerformSignOut =\n ActionsObj['performSignOut'];\nexport type AuthenticationControllerGetBearerToken =\n ActionsObj['getBearerToken'];\nexport type AuthenticationControllerGetSessionProfile =\n ActionsObj['getSessionProfile'];\nexport type AuthenticationControllerIsSignedIn = ActionsObj['isSignedIn'];\n\n// Allowed Actions\nexport type AllowedActions =\n | HandleSnapRequest\n | UserStorageControllerDisableProfileSyncing;\n\n// Messenger\nexport type AuthenticationControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n Actions | AllowedActions,\n never,\n AllowedActions['type'],\n never\n>;\n\n/**\n * Controller that enables authentication for restricted endpoints.\n * Used for Global Profile Syncing and Notifications\n */\nexport default class AuthenticationController extends BaseController<\n typeof controllerName,\n AuthenticationControllerState,\n AuthenticationControllerMessenger\n> {\n #metametrics: MetaMetricsAuth;\n\n constructor({\n messenger,\n state,\n metametrics,\n }: {\n messenger: AuthenticationControllerMessenger;\n state?: AuthenticationControllerState;\n /**\n * Not using the Messaging System as we\n * do not want to tie this strictly to extension\n */\n metametrics: MetaMetricsAuth;\n }) {\n super({\n messenger,\n metadata,\n name: controllerName,\n state: { ...defaultState, ...state },\n });\n\n if (!metametrics) {\n throw new Error('`metametrics` field is required');\n }\n\n this.#metametrics = metametrics;\n\n this.#registerMessageHandlers();\n }\n\n /**\n * Constructor helper for registering this controller's messaging system\n * actions.\n */\n #registerMessageHandlers(): void {\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getBearerToken',\n this.getBearerToken.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getSessionProfile',\n this.getSessionProfile.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:isSignedIn',\n this.isSignedIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignIn',\n this.performSignIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignOut',\n this.performSignOut.bind(this),\n );\n }\n\n public async performSignIn(): Promise<string> {\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n public performSignOut(): void {\n this.#assertLoggedIn();\n\n this.update((state) => {\n state.isSignedIn = false;\n state.sessionData = undefined;\n });\n }\n\n public async getBearerToken(): Promise<string> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.accessToken;\n }\n\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n /**\n * Will return a session profile.\n * Throws if a user is not logged in.\n *\n * @returns profile for the session.\n */\n public async getSessionProfile(): Promise<SessionProfile> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.profile;\n }\n\n const { profile } = await this.#performAuthenticationFlow();\n return profile;\n }\n\n public isSignedIn(): boolean {\n return this.state.isSignedIn;\n }\n\n #assertLoggedIn(): void {\n if (!this.state.isSignedIn) {\n throw new Error(\n `${controllerName}: Unable to call method, user is not authenticated`,\n );\n }\n }\n\n async #performAuthenticationFlow(): Promise<{\n profile: SessionProfile;\n accessToken: string;\n }> {\n try {\n // 1. Nonce\n const publicKey = await this.#snapGetPublicKey();\n const nonce = await getNonce(publicKey);\n if (!nonce) {\n throw new Error(`Unable to get nonce`);\n }\n\n // 2. Login\n const rawMessage = createLoginRawMessage(nonce, publicKey);\n const signature = await this.#snapSignMessage(rawMessage);\n const loginResponse = await login(rawMessage, signature, {\n metametricsId: await this.#metametrics.getMetaMetricsId(),\n agent: this.#metametrics.agent,\n });\n if (!loginResponse?.token) {\n throw new Error(`Unable to login`);\n }\n\n const profile: SessionProfile = {\n identifierId: loginResponse.profile.identifier_id,\n profileId: loginResponse.profile.profile_id,\n };\n\n // 3. Trade for Access Token\n const accessToken = await getAccessToken(\n loginResponse.token,\n this.#metametrics.agent,\n );\n if (!accessToken) {\n throw new Error(`Unable to get Access Token`);\n }\n\n // Update Internal State\n this.update((state) => {\n state.isSignedIn = true;\n const expiresIn = new Date();\n expiresIn.setTime(expiresIn.getTime() + THIRTY_MIN_MS);\n state.sessionData = {\n profile,\n accessToken,\n expiresIn: expiresIn.toString(),\n };\n });\n\n return {\n profile,\n accessToken,\n };\n } catch (e) {\n console.error('Failed to authenticate', e);\n // Disable Profile Syncing\n await this.messagingSystem.call(\n 'UserStorageController:disableProfileSyncing',\n );\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new Error(\n `${controllerName}: Failed to authenticate - ${errorMessage}`,\n );\n }\n }\n\n #hasValidSession(\n sessionData: SessionData | undefined,\n ): sessionData is SessionData {\n if (!sessionData) {\n return false;\n }\n\n const prevDate = Date.parse(sessionData.expiresIn);\n if (isNaN(prevDate)) {\n return false;\n }\n\n const currentDate = new Date();\n const diffMs = Math.abs(currentDate.getTime() - prevDate);\n\n return THIRTY_MIN_MS > diffMs;\n }\n\n /**\n * Returns the auth snap public key.\n *\n * @returns The snap public key.\n */\n #snapGetPublicKey(): Promise<string> {\n return this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapPublicKeyRequest(),\n ) as Promise<string>;\n }\n\n /**\n * Signs a specific message using an underlying auth snap.\n *\n * @param message - A specific tagged message to sign.\n * @returns A Signature created by the snap.\n */\n #snapSignMessage(message: `metamask:${string}`): Promise<string> {\n return this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapSignMessageRequest(message),\n ) as Promise<string>;\n }\n}\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkYASNOFBVjs = require('./chunk-YASNOFBV.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunk5SXXO4MVjs = require('./chunk-5SXXO4MV.js');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkB6CSNLGEjs = require('./chunk-B6CSNLGE.js');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkAK7OTIWAjs = require('./chunk-AK7OTIWA.js');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
var _chunkT3FNDVE3js = require('./chunk-T3FNDVE3.js');
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _chunkIGY2S5BCjs = require('./chunk-IGY2S5BC.js');
|
|
21
|
+
|
|
22
|
+
// src/controllers/user-storage/index.ts
|
|
23
|
+
var user_storage_exports = {};
|
|
24
|
+
_chunkIGY2S5BCjs.__export.call(void 0, user_storage_exports, {
|
|
25
|
+
Controller: () => _chunkYASNOFBVjs.UserStorageController,
|
|
26
|
+
Encryption: () => _chunkT3FNDVE3js.encryption_default,
|
|
27
|
+
Mocks: () => fixtures_exports,
|
|
28
|
+
createSHA256Hash: () => _chunkT3FNDVE3js.createSHA256Hash,
|
|
29
|
+
defaultState: () => _chunkYASNOFBVjs.defaultState
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// src/controllers/user-storage/__fixtures__/index.ts
|
|
33
|
+
var fixtures_exports = {};
|
|
34
|
+
_chunkIGY2S5BCjs.__export.call(void 0, fixtures_exports, {
|
|
35
|
+
MOCK_ENCRYPTED_STORAGE_DATA: () => MOCK_ENCRYPTED_STORAGE_DATA,
|
|
36
|
+
MOCK_STORAGE_DATA: () => MOCK_STORAGE_DATA,
|
|
37
|
+
MOCK_STORAGE_KEY: () => MOCK_STORAGE_KEY,
|
|
38
|
+
MOCK_STORAGE_KEY_SIGNATURE: () => MOCK_STORAGE_KEY_SIGNATURE,
|
|
39
|
+
MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT: () => MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
|
|
40
|
+
getMockUserStorageGetResponse: () => getMockUserStorageGetResponse,
|
|
41
|
+
getMockUserStoragePutResponse: () => getMockUserStoragePutResponse
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// src/controllers/user-storage/__fixtures__/mockStorage.ts
|
|
45
|
+
var MOCK_STORAGE_KEY_SIGNATURE = "mockStorageKey";
|
|
46
|
+
var MOCK_STORAGE_KEY = _chunkT3FNDVE3js.createSHA256Hash.call(void 0, MOCK_STORAGE_KEY_SIGNATURE);
|
|
47
|
+
var MOCK_STORAGE_DATA = JSON.stringify({ hello: "world" });
|
|
48
|
+
var MOCK_ENCRYPTED_STORAGE_DATA = _chunkAK7OTIWAjs.encryption_default.encryptString(
|
|
49
|
+
MOCK_STORAGE_DATA,
|
|
50
|
+
MOCK_STORAGE_KEY
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
// src/controllers/user-storage/__fixtures__/mockResponses.ts
|
|
54
|
+
var MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT = `${_chunk5SXXO4MVjs.USER_STORAGE_ENDPOINT}${_chunkB6CSNLGEjs.createEntryPath.call(void 0,
|
|
55
|
+
"notificationSettings",
|
|
56
|
+
MOCK_STORAGE_KEY
|
|
57
|
+
)}`;
|
|
58
|
+
var MOCK_GET_USER_STORAGE_RESPONSE = {
|
|
59
|
+
HashedKey: "HASHED_KEY",
|
|
60
|
+
Data: MOCK_ENCRYPTED_STORAGE_DATA
|
|
61
|
+
};
|
|
62
|
+
var getMockUserStorageGetResponse = () => {
|
|
63
|
+
return {
|
|
64
|
+
url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
|
|
65
|
+
requestMethod: "GET",
|
|
66
|
+
response: MOCK_GET_USER_STORAGE_RESPONSE
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
var getMockUserStoragePutResponse = () => {
|
|
70
|
+
return {
|
|
71
|
+
url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
|
|
72
|
+
requestMethod: "PUT",
|
|
73
|
+
response: null
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
exports.fixtures_exports = fixtures_exports; exports.user_storage_exports = user_storage_exports;
|
|
81
|
+
//# sourceMappingURL=chunk-H4TDS65R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/user-storage/index.ts","../src/controllers/user-storage/__fixtures__/index.ts","../src/controllers/user-storage/__fixtures__/mockStorage.ts","../src/controllers/user-storage/__fixtures__/mockResponses.ts"],"names":["encryption_default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,6BAA6B;AACnC,IAAM,mBAAmB,iBAAiB,0BAA0B;AACpE,IAAM,oBAAoB,KAAK,UAAU,EAAE,OAAO,QAAQ,CAAC;AAC3D,IAAM,8BAA8BA,oBAAW;AAAA,EACpD;AAAA,EACA;AACF;;;ACGO,IAAM,2CAA2C,GAAG,qBAAqB,GAAG;AAAA,EACjF;AAAA,EACA;AACF,CAAC;AAED,IAAM,iCAAyD;AAAA,EAC7D,WAAW;AAAA,EACX,MAAM;AACR;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF","sourcesContent":["import Controller from './UserStorageController';\n\nexport { Controller };\nexport * from './UserStorageController';\nexport * from './encryption';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\nexport * from './mockStorage';\n","import encryption, { createSHA256Hash } from '../encryption';\n\nexport const MOCK_STORAGE_KEY_SIGNATURE = 'mockStorageKey';\nexport const MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);\nexport const MOCK_STORAGE_DATA = JSON.stringify({ hello: 'world' });\nexport const MOCK_ENCRYPTED_STORAGE_DATA = encryption.encryptString(\n MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n);\n","import { createEntryPath } from '../schema';\nimport type { GetUserStorageResponse } from '../services';\nimport { USER_STORAGE_ENDPOINT } from '../services';\nimport { MOCK_ENCRYPTED_STORAGE_DATA, MOCK_STORAGE_KEY } from './mockStorage';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT = `${USER_STORAGE_ENDPOINT}${createEntryPath(\n 'notificationSettings',\n MOCK_STORAGE_KEY,\n)}`;\n\nconst MOCK_GET_USER_STORAGE_RESPONSE: GetUserStorageResponse = {\n HashedKey: 'HASHED_KEY',\n Data: MOCK_ENCRYPTED_STORAGE_DATA,\n};\n\nexport const getMockUserStorageGetResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_GET_USER_STORAGE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStoragePutResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var __defProp = Object.defineProperty;
|
|
2
|
+
var __export = (target, all) => {
|
|
3
|
+
for (var name in all)
|
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
+
};
|
|
6
|
+
var __accessCheck = (obj, member, msg) => {
|
|
7
|
+
if (!member.has(obj))
|
|
8
|
+
throw TypeError("Cannot " + msg);
|
|
9
|
+
};
|
|
10
|
+
var __privateGet = (obj, member, getter) => {
|
|
11
|
+
__accessCheck(obj, member, "read from private field");
|
|
12
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
13
|
+
};
|
|
14
|
+
var __privateAdd = (obj, member, value) => {
|
|
15
|
+
if (member.has(obj))
|
|
16
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
17
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
18
|
+
};
|
|
19
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
20
|
+
__accessCheck(obj, member, "write to private field");
|
|
21
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
var __privateMethod = (obj, member, method) => {
|
|
25
|
+
__accessCheck(obj, member, "access private method");
|
|
26
|
+
return method;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
exports.__export = __export; exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; exports.__privateMethod = __privateMethod;
|
|
36
|
+
//# sourceMappingURL=chunk-IGY2S5BC.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
authenticate,
|
|
4
4
|
authorizeOIDC,
|
|
5
5
|
getNonce
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WB6MUIML.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ValidationError
|
|
9
9
|
} from "./chunk-TFFQFIJV.mjs";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
__privateGet,
|
|
13
13
|
__privateMethod,
|
|
14
14
|
__privateSet
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-U5UIDVOO.mjs";
|
|
16
16
|
|
|
17
17
|
// src/sdk/authentication-jwt-bearer/flow-siwe.ts
|
|
18
18
|
import { SiweMessage } from "siwe";
|
|
@@ -123,4 +123,4 @@ assertSigner_fn = function(signer) {
|
|
|
123
123
|
export {
|
|
124
124
|
SIWEJwtBearerAuth
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
126
|
+
//# sourceMappingURL=chunk-JLDFMYAH.mjs.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
__privateAdd,
|
|
13
13
|
__privateMethod
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-U5UIDVOO.mjs";
|
|
15
15
|
|
|
16
16
|
// src/controllers/user-storage/encryption/encryption.ts
|
|
17
17
|
import { gcm } from "@noble/ciphers/aes";
|
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
encryption_default,
|
|
156
156
|
createSHA256Hash
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-K5UKU454.mjs.map
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
|
-
AuthenticationController
|
|
3
|
-
|
|
2
|
+
AuthenticationController,
|
|
3
|
+
defaultState
|
|
4
|
+
} from "./chunk-QU3RCIV3.mjs";
|
|
4
5
|
import {
|
|
5
6
|
AUTH_LOGIN_ENDPOINT,
|
|
6
7
|
AUTH_NONCE_ENDPOINT,
|
|
7
8
|
OIDC_TOKENS_ENDPOINT
|
|
8
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7SW3CC66.mjs";
|
|
9
10
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import {
|
|
13
|
-
__export,
|
|
14
|
-
__toESM
|
|
15
|
-
} from "./chunk-26CCETCM.mjs";
|
|
11
|
+
__export
|
|
12
|
+
} from "./chunk-U5UIDVOO.mjs";
|
|
16
13
|
|
|
17
14
|
// src/controllers/authentication/index.ts
|
|
18
15
|
var authentication_exports = {};
|
|
19
16
|
__export(authentication_exports, {
|
|
20
17
|
Controller: () => AuthenticationController,
|
|
21
|
-
Mocks: () => fixtures_exports
|
|
18
|
+
Mocks: () => fixtures_exports,
|
|
19
|
+
defaultState: () => defaultState
|
|
22
20
|
});
|
|
23
21
|
|
|
24
22
|
// src/controllers/authentication/__fixtures__/index.ts
|
|
@@ -32,10 +30,7 @@ __export(fixtures_exports, {
|
|
|
32
30
|
MOCK_OATH_TOKEN_RESPONSE: () => MOCK_OATH_TOKEN_RESPONSE,
|
|
33
31
|
getMockAuthAccessTokenResponse: () => getMockAuthAccessTokenResponse,
|
|
34
32
|
getMockAuthLoginResponse: () => getMockAuthLoginResponse,
|
|
35
|
-
getMockAuthNonceResponse: () => getMockAuthNonceResponse
|
|
36
|
-
mockEndpointAccessToken: () => mockEndpointAccessToken,
|
|
37
|
-
mockEndpointGetNonce: () => mockEndpointGetNonce,
|
|
38
|
-
mockEndpointLogin: () => mockEndpointLogin
|
|
33
|
+
getMockAuthNonceResponse: () => getMockAuthNonceResponse
|
|
39
34
|
});
|
|
40
35
|
|
|
41
36
|
// src/controllers/authentication/__fixtures__/mockResponses.ts
|
|
@@ -84,29 +79,8 @@ var getMockAuthAccessTokenResponse = () => {
|
|
|
84
79
|
};
|
|
85
80
|
};
|
|
86
81
|
|
|
87
|
-
// src/controllers/authentication/__fixtures__/mockServices.ts
|
|
88
|
-
var import_nock = __toESM(require_nock());
|
|
89
|
-
var mockEndpointGetNonce = (mockReply) => {
|
|
90
|
-
const mockResponse = getMockAuthNonceResponse();
|
|
91
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
92
|
-
const mockNonceEndpoint = (0, import_nock.default)(mockResponse.url).get("").query(true).reply(reply.status, reply.body);
|
|
93
|
-
return mockNonceEndpoint;
|
|
94
|
-
};
|
|
95
|
-
var mockEndpointLogin = (mockReply) => {
|
|
96
|
-
const mockResponse = getMockAuthLoginResponse();
|
|
97
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
98
|
-
const mockLoginEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
|
|
99
|
-
return mockLoginEndpoint;
|
|
100
|
-
};
|
|
101
|
-
var mockEndpointAccessToken = (mockReply) => {
|
|
102
|
-
const mockResponse = getMockAuthAccessTokenResponse();
|
|
103
|
-
const reply = mockReply ?? { status: 200, body: mockResponse.response };
|
|
104
|
-
const mockOidcTokensEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
|
|
105
|
-
return mockOidcTokensEndpoint;
|
|
106
|
-
};
|
|
107
|
-
|
|
108
82
|
export {
|
|
109
83
|
fixtures_exports,
|
|
110
84
|
authentication_exports
|
|
111
85
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
86
|
+
//# sourceMappingURL=chunk-KKB3U6KO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/authentication/index.ts","../src/controllers/authentication/__fixtures__/index.ts","../src/controllers/authentication/__fixtures__/mockResponses.ts"],"sourcesContent":["import Controller from './AuthenticationController';\n\nexport { Controller };\nexport * from './AuthenticationController';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\n","import type {\n LoginResponse,\n NonceResponse,\n OAuthTokenResponse,\n} from '../services';\nimport {\n AUTH_LOGIN_ENDPOINT,\n AUTH_NONCE_ENDPOINT,\n OIDC_TOKENS_ENDPOINT,\n} from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_NONCE = '4cbfqzoQpcNxVImGv';\nexport const MOCK_NONCE_RESPONSE: NonceResponse = {\n nonce: MOCK_NONCE,\n};\n\nexport const getMockAuthNonceResponse = () => {\n return {\n url: AUTH_NONCE_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_NONCE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\nexport const MOCK_LOGIN_RESPONSE: LoginResponse = {\n token: MOCK_JWT,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().toString(),\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: 'MOCK_IDENTIFIER',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'MOCK_PROFILE_ID',\n },\n};\n\nexport const getMockAuthLoginResponse = () => {\n return {\n url: AUTH_LOGIN_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_LOGIN_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_ACCESS_TOKEN = `MOCK_ACCESS_TOKEN-${MOCK_JWT}`;\nexport const MOCK_OATH_TOKEN_RESPONSE: OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: MOCK_ACCESS_TOKEN,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().getTime(),\n};\n\nexport const getMockAuthAccessTokenResponse = () => {\n return {\n url: OIDC_TOKENS_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_OATH_TOKEN_RESPONSE,\n } satisfies MockResponse;\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACiBO,IAAM,aAAa;AACnB,IAAM,sBAAqC;AAAA,EAChD,OAAO;AACT;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,WACX;AACK,IAAM,sBAAqC;AAAA,EAChD,OAAO;AAAA;AAAA,EAEP,aAAY,oBAAI,KAAK,GAAE,SAAS;AAAA,EAChC,SAAS;AAAA;AAAA,IAEP,eAAe;AAAA;AAAA,IAEf,YAAY;AAAA,EACd;AACF;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,oBAAoB,qBAAqB,QAAQ;AACvD,IAAM,2BAA+C;AAAA;AAAA,EAE1D,cAAc;AAAA;AAAA,EAEd,aAAY,oBAAI,KAAK,GAAE,QAAQ;AACjC;AAEO,IAAM,iCAAiC,MAAM;AAClD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;","names":[]}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
UserStorageController
|
|
6
|
-
} from "./chunk-PNZGAAT4.mjs";
|
|
2
|
+
UserStorageController,
|
|
3
|
+
defaultState
|
|
4
|
+
} from "./chunk-TGFMKARH.mjs";
|
|
7
5
|
import {
|
|
8
6
|
USER_STORAGE_ENDPOINT
|
|
9
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2XGRQBXI.mjs";
|
|
10
8
|
import {
|
|
11
9
|
createEntryPath
|
|
12
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-AUFUOKJW.mjs";
|
|
13
11
|
import {
|
|
14
12
|
encryption_default as encryption_default2
|
|
15
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5TOWF6UW.mjs";
|
|
16
14
|
import {
|
|
17
15
|
createSHA256Hash,
|
|
18
16
|
encryption_default
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-K5UKU454.mjs";
|
|
20
18
|
import {
|
|
21
|
-
__export
|
|
22
|
-
|
|
23
|
-
} from "./chunk-26CCETCM.mjs";
|
|
19
|
+
__export
|
|
20
|
+
} from "./chunk-U5UIDVOO.mjs";
|
|
24
21
|
|
|
25
22
|
// src/controllers/user-storage/index.ts
|
|
26
23
|
var user_storage_exports = {};
|
|
@@ -28,7 +25,8 @@ __export(user_storage_exports, {
|
|
|
28
25
|
Controller: () => UserStorageController,
|
|
29
26
|
Encryption: () => encryption_default,
|
|
30
27
|
Mocks: () => fixtures_exports,
|
|
31
|
-
createSHA256Hash: () => createSHA256Hash
|
|
28
|
+
createSHA256Hash: () => createSHA256Hash,
|
|
29
|
+
defaultState: () => defaultState
|
|
32
30
|
});
|
|
33
31
|
|
|
34
32
|
// src/controllers/user-storage/__fixtures__/index.ts
|
|
@@ -40,9 +38,7 @@ __export(fixtures_exports, {
|
|
|
40
38
|
MOCK_STORAGE_KEY_SIGNATURE: () => MOCK_STORAGE_KEY_SIGNATURE,
|
|
41
39
|
MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT: () => MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
|
|
42
40
|
getMockUserStorageGetResponse: () => getMockUserStorageGetResponse,
|
|
43
|
-
getMockUserStoragePutResponse: () => getMockUserStoragePutResponse
|
|
44
|
-
mockEndpointGetUserStorage: () => mockEndpointGetUserStorage,
|
|
45
|
-
mockEndpointUpsertUserStorage: () => mockEndpointUpsertUserStorage
|
|
41
|
+
getMockUserStoragePutResponse: () => getMockUserStoragePutResponse
|
|
46
42
|
});
|
|
47
43
|
|
|
48
44
|
// src/controllers/user-storage/__fixtures__/mockStorage.ts
|
|
@@ -78,25 +74,8 @@ var getMockUserStoragePutResponse = () => {
|
|
|
78
74
|
};
|
|
79
75
|
};
|
|
80
76
|
|
|
81
|
-
// src/controllers/user-storage/__fixtures__/mockServices.ts
|
|
82
|
-
var import_nock = __toESM(require_nock());
|
|
83
|
-
var mockEndpointGetUserStorage = (mockReply) => {
|
|
84
|
-
const mockResponse = getMockUserStorageGetResponse();
|
|
85
|
-
const reply = mockReply ?? {
|
|
86
|
-
status: 200,
|
|
87
|
-
body: mockResponse.response
|
|
88
|
-
};
|
|
89
|
-
const mockEndpoint = (0, import_nock.default)(mockResponse.url).get("").reply(reply.status, reply.body);
|
|
90
|
-
return mockEndpoint;
|
|
91
|
-
};
|
|
92
|
-
var mockEndpointUpsertUserStorage = (mockReply) => {
|
|
93
|
-
const mockResponse = getMockUserStoragePutResponse();
|
|
94
|
-
const mockEndpoint = (0, import_nock.default)(mockResponse.url).put("").reply(mockReply?.status ?? 204);
|
|
95
|
-
return mockEndpoint;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
77
|
export {
|
|
99
78
|
fixtures_exports,
|
|
100
79
|
user_storage_exports
|
|
101
80
|
};
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
81
|
+
//# sourceMappingURL=chunk-LSVRA3X2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/user-storage/index.ts","../src/controllers/user-storage/__fixtures__/index.ts","../src/controllers/user-storage/__fixtures__/mockStorage.ts","../src/controllers/user-storage/__fixtures__/mockResponses.ts"],"sourcesContent":["import Controller from './UserStorageController';\n\nexport { Controller };\nexport * from './UserStorageController';\nexport * from './encryption';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\nexport * from './mockStorage';\n","import encryption, { createSHA256Hash } from '../encryption';\n\nexport const MOCK_STORAGE_KEY_SIGNATURE = 'mockStorageKey';\nexport const MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);\nexport const MOCK_STORAGE_DATA = JSON.stringify({ hello: 'world' });\nexport const MOCK_ENCRYPTED_STORAGE_DATA = encryption.encryptString(\n MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n);\n","import { createEntryPath } from '../schema';\nimport type { GetUserStorageResponse } from '../services';\nimport { USER_STORAGE_ENDPOINT } from '../services';\nimport { MOCK_ENCRYPTED_STORAGE_DATA, MOCK_STORAGE_KEY } from './mockStorage';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT = `${USER_STORAGE_ENDPOINT}${createEntryPath(\n 'notificationSettings',\n MOCK_STORAGE_KEY,\n)}`;\n\nconst MOCK_GET_USER_STORAGE_RESPONSE: GetUserStorageResponse = {\n HashedKey: 'HASHED_KEY',\n Data: MOCK_ENCRYPTED_STORAGE_DATA,\n};\n\nexport const getMockUserStorageGetResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_GET_USER_STORAGE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStoragePutResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,6BAA6B;AACnC,IAAM,mBAAmB,iBAAiB,0BAA0B;AACpE,IAAM,oBAAoB,KAAK,UAAU,EAAE,OAAO,QAAQ,CAAC;AAC3D,IAAM,8BAA8BA,oBAAW;AAAA,EACpD;AAAA,EACA;AACF;;;ACGO,IAAM,2CAA2C,GAAG,qBAAqB,GAAG;AAAA,EACjF;AAAA,EACA;AACF,CAAC;AAED,IAAM,iCAAyD;AAAA,EAC7D,WAAW;AAAA,EACX,MAAM;AACR;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;","names":["encryption_default"]}
|