@explorins/pers-sdk 1.6.14 → 1.6.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics.cjs +4 -0
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.js +1 -1
- package/dist/api-key/api/api-key-api.d.ts +37 -0
- package/dist/api-key/api/api-key-api.d.ts.map +1 -0
- package/dist/api-key/index.d.ts +7 -0
- package/dist/api-key/index.d.ts.map +1 -0
- package/dist/business.cjs +4 -0
- package/dist/business.cjs.map +1 -1
- package/dist/business.js +1 -1
- package/dist/campaign.cjs +4 -0
- package/dist/campaign.cjs.map +1 -1
- package/dist/campaign.js +1 -1
- package/dist/chunks/{explorer.utils-mn6hK7S2.cjs → explorer.utils-Bj4uQw83.cjs} +2 -2
- package/dist/chunks/{explorer.utils-mn6hK7S2.cjs.map → explorer.utils-Bj4uQw83.cjs.map} +1 -1
- package/dist/chunks/{explorer.utils-BBs-6DZI.js → explorer.utils-vHiCoUYQ.js} +2 -2
- package/dist/chunks/{explorer.utils-BBs-6DZI.js.map → explorer.utils-vHiCoUYQ.js.map} +1 -1
- package/dist/chunks/index-B6-bbNnd.cjs +281 -0
- package/dist/chunks/index-B6-bbNnd.cjs.map +1 -0
- package/dist/chunks/index-DBLskLuH.js +277 -0
- package/dist/chunks/index-DBLskLuH.js.map +1 -0
- package/dist/chunks/{pers-sdk-RNGAnn-O.cjs → pers-sdk-CCegy2bB.cjs} +295 -51
- package/dist/chunks/pers-sdk-CCegy2bB.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-Doc9KxB7.js → pers-sdk-FWPQvR7K.js} +294 -52
- package/dist/chunks/pers-sdk-FWPQvR7K.js.map +1 -0
- package/dist/chunks/{tenant-service-Ba7xrWED.cjs → tenant-service-DME24vr1.cjs} +6 -20
- package/dist/chunks/tenant-service-DME24vr1.cjs.map +1 -0
- package/dist/chunks/{tenant-service-DELk412y.js → tenant-service-DxtHAlaa.js} +6 -20
- package/dist/chunks/tenant-service-DxtHAlaa.js.map +1 -0
- package/dist/chunks/{web3-chain-service-Dww1Hert.js → web3-chain-service-D0IJ794i.js} +59 -5
- package/dist/chunks/web3-chain-service-D0IJ794i.js.map +1 -0
- package/dist/chunks/{web3-chain-service-DtNLaIGT.cjs → web3-chain-service-oMqWfd61.cjs} +59 -4
- package/dist/chunks/web3-chain-service-oMqWfd61.cjs.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +4 -6
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/auth-status.d.ts +17 -0
- package/dist/core/auth/auth-status.d.ts.map +1 -0
- package/dist/core/auth/default-auth-provider.d.ts +2 -1
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/refresh-manager.d.ts.map +1 -1
- package/dist/core/auth/services/auth-service.d.ts +6 -1
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/cache/cache.service.d.ts +22 -26
- package/dist/core/cache/cache.service.d.ts.map +1 -1
- package/dist/core/errors/index.d.ts +13 -2
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +1 -0
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/pers-config.d.ts +0 -4
- package/dist/core/pers-config.d.ts.map +1 -1
- package/dist/core.cjs +6 -5
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +5 -5
- package/dist/donation.cjs +4 -0
- package/dist/donation.cjs.map +1 -1
- package/dist/donation.js +1 -1
- package/dist/index.cjs +15 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/managers/api-key-manager.d.ts +100 -0
- package/dist/managers/api-key-manager.d.ts.map +1 -0
- package/dist/managers/index.d.ts +1 -0
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/package.json +2 -2
- package/dist/payment.cjs +4 -0
- package/dist/payment.cjs.map +1 -1
- package/dist/payment.js +1 -1
- package/dist/pers-sdk.d.ts +24 -1
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/redemption.cjs +4 -0
- package/dist/redemption.cjs.map +1 -1
- package/dist/redemption.js +1 -1
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
- package/dist/tenant/api/tenant-api.d.ts +5 -15
- package/dist/tenant/api/tenant-api.d.ts.map +1 -1
- package/dist/tenant.cjs +5 -1
- package/dist/tenant.cjs.map +1 -1
- package/dist/tenant.js +2 -2
- package/dist/token.cjs +4 -0
- package/dist/token.cjs.map +1 -1
- package/dist/token.js +1 -1
- package/dist/transaction.cjs +4 -0
- package/dist/transaction.cjs.map +1 -1
- package/dist/transaction.js +1 -1
- package/dist/user-status.cjs +4 -0
- package/dist/user-status.cjs.map +1 -1
- package/dist/user-status.js +1 -1
- package/dist/user.cjs +4 -0
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +1 -1
- package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -1
- package/dist/web3-chain.cjs +6 -2
- package/dist/web3-chain.cjs.map +1 -1
- package/dist/web3-chain.js +3 -3
- package/dist/web3.cjs +2 -2
- package/dist/web3.js +2 -2
- package/package.json +2 -2
- package/dist/chunks/index-60201NKa.js +0 -265
- package/dist/chunks/index-60201NKa.js.map +0 -1
- package/dist/chunks/index-CcQkbZBZ.cjs +0 -269
- package/dist/chunks/index-CcQkbZBZ.cjs.map +0 -1
- package/dist/chunks/pers-sdk-Doc9KxB7.js.map +0 -1
- package/dist/chunks/pers-sdk-RNGAnn-O.cjs.map +0 -1
- package/dist/chunks/tenant-service-Ba7xrWED.cjs.map +0 -1
- package/dist/chunks/tenant-service-DELk412y.js.map +0 -1
- package/dist/chunks/web3-chain-service-DtNLaIGT.cjs.map +0 -1
- package/dist/chunks/web3-chain-service-Dww1Hert.js.map +0 -1
|
@@ -18,7 +18,7 @@ class TenantApi {
|
|
|
18
18
|
// ==========================================
|
|
19
19
|
/**
|
|
20
20
|
* API KEY: Get current tenant public information
|
|
21
|
-
*
|
|
21
|
+
* UPDATED: Uses /tenants/me endpoint with API key authentication
|
|
22
22
|
*
|
|
23
23
|
* Requires: X-API-Key header (handled by PersApiClient)
|
|
24
24
|
* Returns: Enhanced public tenant information for the authenticated project
|
|
@@ -31,14 +31,14 @@ class TenantApi {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* API KEY: Get remote login token
|
|
34
|
-
*
|
|
34
|
+
* UPDATED: Requires API key authentication
|
|
35
35
|
*/
|
|
36
36
|
async getRemoteLoginToken() {
|
|
37
37
|
return this.apiClient.get(`${this.basePath}/login-token`);
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* API KEY: Get remote client configuration
|
|
41
|
-
*
|
|
41
|
+
* UPDATED: Requires API key authentication
|
|
42
42
|
*/
|
|
43
43
|
async getRemoteClientConfig() {
|
|
44
44
|
return this.apiClient.get(`${this.basePath}/client-config`);
|
|
@@ -48,7 +48,7 @@ class TenantApi {
|
|
|
48
48
|
// ==========================================
|
|
49
49
|
/**
|
|
50
50
|
* PUBLIC: Get tenant public information by ID (no auth required)
|
|
51
|
-
*
|
|
51
|
+
* NEW: For cases where you need public tenant info without API key
|
|
52
52
|
*
|
|
53
53
|
* @param tenantId - The tenant ID to retrieve public information for
|
|
54
54
|
*/
|
|
@@ -61,25 +61,11 @@ class TenantApi {
|
|
|
61
61
|
// ==========================================
|
|
62
62
|
/**
|
|
63
63
|
* ADMIN: Update tenant information
|
|
64
|
-
*
|
|
64
|
+
* UPDATED: Uses PUT /tenants (admin endpoint)
|
|
65
65
|
*/
|
|
66
66
|
async updateRemoteTenant(tenantData) {
|
|
67
67
|
return this.apiClient.put(`${this.basePath}`, tenantData);
|
|
68
68
|
}
|
|
69
|
-
/**
|
|
70
|
-
* ADMIN: Create new API key
|
|
71
|
-
* ✅ NEW: Create new API key for the tenant
|
|
72
|
-
*/
|
|
73
|
-
async createApiKey(keyName) {
|
|
74
|
-
return this.apiClient.post(`${this.basePath}/api-keys`, { keyName });
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* ADMIN: Create new JWT token
|
|
78
|
-
* ✅ NEW: Create new JWT token for the tenant
|
|
79
|
-
*/
|
|
80
|
-
async createJwtToken(isTestnet = false) {
|
|
81
|
-
return this.apiClient.post(`${this.basePath}/jwt-tokens`, { isTestnet });
|
|
82
|
-
}
|
|
83
69
|
/**
|
|
84
70
|
* ADMIN: Get all tenant admins
|
|
85
71
|
*/
|
|
@@ -165,4 +151,4 @@ class TenantService {
|
|
|
165
151
|
}
|
|
166
152
|
|
|
167
153
|
export { TenantApi as T, TenantService as a };
|
|
168
|
-
//# sourceMappingURL=tenant-service-
|
|
154
|
+
//# sourceMappingURL=tenant-service-DxtHAlaa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-service-DxtHAlaa.js","sources":["../../src/tenant/api/tenant-api.ts","../../src/tenant/services/tenant-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":"AAYA;;;;;;;;AAQG;MACU,SAAS,CAAA;AACpB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAErB,IAAA,CAAA,QAAQ,GAAG,UAAU;QACrB,IAAA,CAAA,SAAS,GAAG,SAAS;IAHkB;;;;AAS/C;;;;;;AAMG;AACH,IAAA,MAAM,eAAe,GAAA;;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACvC,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,SAAA,EAAY,SAAS,CAAA,CAAE;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAkB,GAAG,CAAC;IACjD;AAEA;;;AAGG;AACH,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAS,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,YAAA,CAAc,CAAC;IACnE;AAEA;;;AAGG;AACH,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAwB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,cAAA,CAAgB,CAAC;IACpF;;;;AAMA;;;;;AAKG;IACH,MAAM,mBAAmB,CAAC,QAAgB,EAAA;QACxC,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAkB,GAAG,CAAC;IACjD;;;;AAMA;;;AAGG;IACH,MAAM,kBAAkB,CAAC,UAA2B,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAkB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAE,EAAE,UAAU,CAAC;IAC5E;AAEA;;AAEG;AACH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAa,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC;IAC5D;AAEA;;AAEG;IACH,MAAM,SAAS,CAAC,SAAgC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAW,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EAAE,SAAS,CAAC;IACtE;AAEA;;AAEG;AACH,IAAA,MAAM,QAAQ,CAAC,OAAe,EAAE,SAAgC,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAW,CAAA,EAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAA,OAAA,CAAS,EAAE,SAAS,CAAC;IACvF;AACD;;ACpGD;;;;;;AAMG;MACU,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAoB,EAAA;QAApB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAc;;;;AAM3C;;AAEG;AACH,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;IACzC;AAEA;;AAEG;AACH,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;IAC7C;AAEA;;AAEG;AACH,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE;IAC/C;;;;AAMA;;;AAGG;IACH,MAAM,kBAAkB,CAAC,UAA2B,EAAA;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC;IACtD;AAEA;;AAEG;AACH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;IACnC;AAEA;;;AAGG;IACH,MAAM,SAAS,CAAC,SAAgC,EAAA;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;IAC5C;AAEA;;;AAGG;AACH,IAAA,MAAM,QAAQ,CAAC,OAAe,EAAE,SAAgC,EAAA;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IACpD;AACD;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as globalCacheService, C as CacheTTL } from './index-
|
|
1
|
+
import { g as globalCacheService, C as CacheTTL } from './index-DBLskLuH.js';
|
|
2
2
|
import { FetchRequest, JsonRpcProvider } from '@explorins/web3-ts/ethers';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -39,7 +39,6 @@ class ErrorUtils {
|
|
|
39
39
|
* Fast token expiration detection
|
|
40
40
|
*/
|
|
41
41
|
static isTokenExpiredError(error) {
|
|
42
|
-
console.log('Checking if error is token expired error:', error);
|
|
43
42
|
if (typeof error !== 'object' || error === null)
|
|
44
43
|
return false;
|
|
45
44
|
const err = error;
|
|
@@ -96,6 +95,50 @@ class ErrorUtils {
|
|
|
96
95
|
const status = ErrorUtils.getStatus(error);
|
|
97
96
|
return status === null || status >= 500 || status === 429;
|
|
98
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Extract detailed error information from backend response
|
|
100
|
+
* Centralized method for consistent error structure extraction
|
|
101
|
+
*/
|
|
102
|
+
static extractBackendErrorDetails(error) {
|
|
103
|
+
try {
|
|
104
|
+
// Try to extract structured error response from HTTP error
|
|
105
|
+
if (error && typeof error === 'object') {
|
|
106
|
+
const httpError = error;
|
|
107
|
+
// Check if error has response data (common in HTTP clients)
|
|
108
|
+
if (httpError.response?.data) {
|
|
109
|
+
return httpError.response.data;
|
|
110
|
+
}
|
|
111
|
+
// Check if error itself contains the backend structure
|
|
112
|
+
if (httpError.status && httpError.title) {
|
|
113
|
+
return httpError;
|
|
114
|
+
}
|
|
115
|
+
// Check for nested error details
|
|
116
|
+
if (httpError.error) {
|
|
117
|
+
return httpError.error;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Fallback to generic error structure matching your backend format
|
|
121
|
+
return {
|
|
122
|
+
status: this.getStatus(error) || 500,
|
|
123
|
+
title: 'Request failed',
|
|
124
|
+
message: this.getMessage(error),
|
|
125
|
+
userMessage: 'An error occurred. Please try again.',
|
|
126
|
+
detail: this.getMessage(error),
|
|
127
|
+
code: 'REQUEST_FAILED',
|
|
128
|
+
category: 'TECHNICAL',
|
|
129
|
+
domain: 'api',
|
|
130
|
+
retryable: this.isRetryable(error)
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Safe fallback if error extraction fails
|
|
135
|
+
return {
|
|
136
|
+
status: 500,
|
|
137
|
+
message: 'Unknown error occurred',
|
|
138
|
+
userMessage: 'An error occurred. Please try again.'
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
99
142
|
/**
|
|
100
143
|
* Check if error is from PERS API (uses @explorins/pers-shared format)
|
|
101
144
|
*/
|
|
@@ -150,6 +193,18 @@ class PersApiError extends Error {
|
|
|
150
193
|
this.retryable = retryable;
|
|
151
194
|
}
|
|
152
195
|
}
|
|
196
|
+
class AuthenticationError extends PersApiError {
|
|
197
|
+
constructor(message, endpoint, method, backendErrorCode, userMessage, backendTitle) {
|
|
198
|
+
super(message, endpoint, method, 401, false);
|
|
199
|
+
this.backendErrorCode = backendErrorCode;
|
|
200
|
+
this.userMessage = userMessage;
|
|
201
|
+
this.backendTitle = backendTitle;
|
|
202
|
+
this.name = 'AuthenticationError';
|
|
203
|
+
// Override inherited properties
|
|
204
|
+
this.errorCode = 'AUTHENTICATION_ERROR';
|
|
205
|
+
this.category = 'AUTHENTICATION';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
153
208
|
const ApiErrorDetector = {
|
|
154
209
|
getErrorMessage: (error) => ErrorUtils.getMessage(error),
|
|
155
210
|
getStatusCode: (error) => ErrorUtils.getStatus(error),
|
|
@@ -179,7 +234,6 @@ class Web3ChainApi {
|
|
|
179
234
|
*/
|
|
180
235
|
async getChainData(chainId) {
|
|
181
236
|
try {
|
|
182
|
-
console.log('[Web3ChainApi] Fetching chain data for chainId:', chainId);
|
|
183
237
|
const response = await this.apiClient.get(`${this.basePath}/${chainId}`);
|
|
184
238
|
if (!response) {
|
|
185
239
|
throw new Error(`No chain data received for chainId: ${chainId}`);
|
|
@@ -376,5 +430,5 @@ class Web3ChainService {
|
|
|
376
430
|
}
|
|
377
431
|
}
|
|
378
432
|
|
|
379
|
-
export { ErrorUtils as E, PersApiError as P, Web3ChainApi as W, Web3ChainService as a, isTokenExpired as i };
|
|
380
|
-
//# sourceMappingURL=web3-chain-service-
|
|
433
|
+
export { AuthenticationError as A, ErrorUtils as E, PersApiError as P, Web3ChainApi as W, Web3ChainService as a, isTokenExpired as i };
|
|
434
|
+
//# sourceMappingURL=web3-chain-service-D0IJ794i.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3-chain-service-D0IJ794i.js","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/web3-chain/api/web3-chain-api.ts","../../src/web3-chain/services/getWeb3FCD.service.ts","../../src/web3-chain/services/web3-chain-service.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-B6-bbNnd.cjs');
|
|
4
4
|
var ethers = require('@explorins/web3-ts/ethers');
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -41,7 +41,6 @@ class ErrorUtils {
|
|
|
41
41
|
* Fast token expiration detection
|
|
42
42
|
*/
|
|
43
43
|
static isTokenExpiredError(error) {
|
|
44
|
-
console.log('Checking if error is token expired error:', error);
|
|
45
44
|
if (typeof error !== 'object' || error === null)
|
|
46
45
|
return false;
|
|
47
46
|
const err = error;
|
|
@@ -98,6 +97,50 @@ class ErrorUtils {
|
|
|
98
97
|
const status = ErrorUtils.getStatus(error);
|
|
99
98
|
return status === null || status >= 500 || status === 429;
|
|
100
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Extract detailed error information from backend response
|
|
102
|
+
* Centralized method for consistent error structure extraction
|
|
103
|
+
*/
|
|
104
|
+
static extractBackendErrorDetails(error) {
|
|
105
|
+
try {
|
|
106
|
+
// Try to extract structured error response from HTTP error
|
|
107
|
+
if (error && typeof error === 'object') {
|
|
108
|
+
const httpError = error;
|
|
109
|
+
// Check if error has response data (common in HTTP clients)
|
|
110
|
+
if (httpError.response?.data) {
|
|
111
|
+
return httpError.response.data;
|
|
112
|
+
}
|
|
113
|
+
// Check if error itself contains the backend structure
|
|
114
|
+
if (httpError.status && httpError.title) {
|
|
115
|
+
return httpError;
|
|
116
|
+
}
|
|
117
|
+
// Check for nested error details
|
|
118
|
+
if (httpError.error) {
|
|
119
|
+
return httpError.error;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Fallback to generic error structure matching your backend format
|
|
123
|
+
return {
|
|
124
|
+
status: this.getStatus(error) || 500,
|
|
125
|
+
title: 'Request failed',
|
|
126
|
+
message: this.getMessage(error),
|
|
127
|
+
userMessage: 'An error occurred. Please try again.',
|
|
128
|
+
detail: this.getMessage(error),
|
|
129
|
+
code: 'REQUEST_FAILED',
|
|
130
|
+
category: 'TECHNICAL',
|
|
131
|
+
domain: 'api',
|
|
132
|
+
retryable: this.isRetryable(error)
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// Safe fallback if error extraction fails
|
|
137
|
+
return {
|
|
138
|
+
status: 500,
|
|
139
|
+
message: 'Unknown error occurred',
|
|
140
|
+
userMessage: 'An error occurred. Please try again.'
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
101
144
|
/**
|
|
102
145
|
* Check if error is from PERS API (uses @explorins/pers-shared format)
|
|
103
146
|
*/
|
|
@@ -152,6 +195,18 @@ class PersApiError extends Error {
|
|
|
152
195
|
this.retryable = retryable;
|
|
153
196
|
}
|
|
154
197
|
}
|
|
198
|
+
class AuthenticationError extends PersApiError {
|
|
199
|
+
constructor(message, endpoint, method, backendErrorCode, userMessage, backendTitle) {
|
|
200
|
+
super(message, endpoint, method, 401, false);
|
|
201
|
+
this.backendErrorCode = backendErrorCode;
|
|
202
|
+
this.userMessage = userMessage;
|
|
203
|
+
this.backendTitle = backendTitle;
|
|
204
|
+
this.name = 'AuthenticationError';
|
|
205
|
+
// Override inherited properties
|
|
206
|
+
this.errorCode = 'AUTHENTICATION_ERROR';
|
|
207
|
+
this.category = 'AUTHENTICATION';
|
|
208
|
+
}
|
|
209
|
+
}
|
|
155
210
|
const ApiErrorDetector = {
|
|
156
211
|
getErrorMessage: (error) => ErrorUtils.getMessage(error),
|
|
157
212
|
getStatusCode: (error) => ErrorUtils.getStatus(error),
|
|
@@ -181,7 +236,6 @@ class Web3ChainApi {
|
|
|
181
236
|
*/
|
|
182
237
|
async getChainData(chainId) {
|
|
183
238
|
try {
|
|
184
|
-
console.log('[Web3ChainApi] Fetching chain data for chainId:', chainId);
|
|
185
239
|
const response = await this.apiClient.get(`${this.basePath}/${chainId}`);
|
|
186
240
|
if (!response) {
|
|
187
241
|
throw new Error(`No chain data received for chainId: ${chainId}`);
|
|
@@ -378,9 +432,10 @@ class Web3ChainService {
|
|
|
378
432
|
}
|
|
379
433
|
}
|
|
380
434
|
|
|
435
|
+
exports.AuthenticationError = AuthenticationError;
|
|
381
436
|
exports.ErrorUtils = ErrorUtils;
|
|
382
437
|
exports.PersApiError = PersApiError;
|
|
383
438
|
exports.Web3ChainApi = Web3ChainApi;
|
|
384
439
|
exports.Web3ChainService = Web3ChainService;
|
|
385
440
|
exports.isTokenExpired = isTokenExpired;
|
|
386
|
-
//# sourceMappingURL=web3-chain-service-
|
|
441
|
+
//# sourceMappingURL=web3-chain-service-oMqWfd61.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3-chain-service-oMqWfd61.cjs","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/web3-chain/api/web3-chain-api.ts","../../src/web3-chain/services/getWeb3FCD.service.ts","../../src/web3-chain/services/web3-chain-service.ts"],"sourcesContent":[null,null,null,null,null],"names":["FetchRequest","JsonRpcProvider","globalCacheService","CacheTTL"],"mappings":";;;;;AAAA;;;AAGG;AAEH;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,EAAE,KAAa;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;AAEnD,IAAA,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACrD,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG;AAAE,YAAA,OAAO,KAAK;AAE9B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,IAAI,WAAW,GAAG,MAAM,CAAC;IAC7C;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,IAAI;IACb;AACF;;AC1BA;;;;;AAKG;AAIH;MACa,UAAU,CAAA;AAErB;;AAEG;IACH,OAAO,mBAAmB,CAAC,KAAc,EAAA;AACvC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,KAAK;QAC7D,MAAM,GAAG,GAAG,KAAY;AACxB,QAAA,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,GAAG;AACzD,QAAA,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,EAAE,UAAU;;AAGtE,QAAA,IAAI,QAAQ,EAAE,IAAI,KAAK,eAAe,IAAI,QAAQ,EAAE,SAAS,KAAK,eAAe,EAAE;AACjF,YAAA,OAAO,IAAI;QACb;;AAGA,QAAA,IAAI,MAAM,KAAK,GAAG,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;;QAGA,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,EAAE;AACvD,QAAA,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC1C,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE;AAC1C,YAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9B,gBAAA,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;AACrC,gBAAA,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD;AAEA,QAAA,OAAO,KAAK;IACd;AAEA;;AAEG;IACH,OAAO,UAAU,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,eAAe;QACvE,MAAM,GAAG,GAAG,KAAY;AACxB,QAAA,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,GAAG;AACzD,QAAA,OAAO,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,IAAI,GAAG,EAAE,OAAO,IAAI,gBAAgB;IAClF;AAEA;;AAEG;IACH,OAAO,SAAS,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;QAC5D,MAAM,GAAG,GAAG,KAAY;AACxB,QAAA,OAAO,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;IACxE;AAEA;;AAEG;IACH,OAAO,WAAW,CAAC,KAAc,EAAA;AAC/B,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,KAAK;QAC7D,MAAM,GAAG,GAAG,KAAY;;AAGxB,QAAA,IAAI,OAAO,GAAG,EAAE,SAAS,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,SAAS;;QAG7D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;IAC3D;AAEA;;;AAGG;IACH,OAAO,0BAA0B,CAAC,KAAc,EAAA;AAC9C,QAAA,IAAI;;AAEF,YAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACtC,MAAM,SAAS,GAAG,KAAY;;AAG9B,gBAAA,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;AAC5B,oBAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI;gBAChC;;gBAGA,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE;AACvC,oBAAA,OAAO,SAAS;gBAClB;;AAGA,gBAAA,IAAI,SAAS,CAAC,KAAK,EAAE;oBACnB,OAAO,SAAS,CAAC,KAAK;gBACxB;YACF;;YAGA,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG;AACpC,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/B,gBAAA,WAAW,EAAE,sCAAsC;AACnD,gBAAA,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,QAAQ,EAAE,WAAW;AACrB,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;aAClC;QACH;AAAE,QAAA,MAAM;;YAEN,OAAO;AACL,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE,wBAAwB;AACjC,gBAAA,WAAW,EAAE;aACd;QACH;IACF;AAEA;;AAEG;IACH,OAAO,cAAc,CAAC,KAAc,EAAA;AAClC,QAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAC3C,WAAW,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK;IACzE;AACD;AAED;AACM,MAAO,kBAAmB,SAAQ,KAAK,CAAA;AAM3C,IAAA,WAAA,CAAmB,YAAoB,EAAA;QACrC,KAAK,CAAC,sBAAsB,CAAC;QADZ,IAAA,CAAA,YAAY,GAAZ,YAAY;QALtB,IAAA,CAAA,SAAS,GAAG,sBAAsB;QAClC,IAAA,CAAA,MAAM,GAAG,MAAM;QACf,IAAA,CAAA,QAAQ,GAAG,UAAU;QACrB,IAAA,CAAA,SAAS,GAAG,IAAI;AAIvB,QAAA,IAAI,CAAC,IAAI,GAAG,oBAAoB;IAClC;AACD;AAEK,MAAO,0BAA2B,SAAQ,KAAK,CAAA;AAMnD,IAAA,WAAA,CAAmB,aAAqB,EAAA;QACtC,KAAK,CAAC,+BAA+B,CAAC;QADrB,IAAA,CAAA,aAAa,GAAb,aAAa;QALvB,IAAA,CAAA,SAAS,GAAG,+BAA+B;QAC3C,IAAA,CAAA,MAAM,GAAG,MAAM;QACf,IAAA,CAAA,QAAQ,GAAG,UAAU;QACrB,IAAA,CAAA,SAAS,GAAG,IAAI;AAIvB,QAAA,IAAI,CAAC,IAAI,GAAG,4BAA4B;IAC1C;AACD;AAEK,MAAO,cAAe,SAAQ,KAAK,CAAA;AAMvC,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC;QANP,IAAA,CAAA,SAAS,GAAG,iBAAiB;QAC7B,IAAA,CAAA,MAAM,GAAG,MAAM;QACf,IAAA,CAAA,QAAQ,GAAG,UAAU;QACrB,IAAA,CAAA,SAAS,GAAG,KAAK;AAIxB,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;IAC9B;AACD;AAEK,MAAO,YAAa,SAAQ,KAAK,CAAA;IAMrC,WAAA,CACE,OAAe,EACR,QAAgB,EAChB,MAAc,EACd,MAAe,EACtB,SAAA,GAAqB,KAAK,EAAA;AAE1B,QAAA,KAAK,CAAC,CAAA,oBAAA,EAAuB,OAAO,CAAA,CAAE,CAAC;QALhC,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QATN,IAAA,CAAA,SAAS,GAAW,gBAAgB;QACpC,IAAA,CAAA,MAAM,GAAG,KAAK;QACd,IAAA,CAAA,QAAQ,GAAW,WAAW;AAWrC,QAAA,IAAI,CAAC,IAAI,GAAG,cAAc;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AACD;AAEK,MAAO,mBAAoB,SAAQ,YAAY,CAAA;IACnD,WAAA,CACE,OAAe,EACf,QAAgB,EAChB,MAAc,EACP,gBAAyB,EACzB,WAAoB,EACpB,YAAqB,EAAA;QAE5B,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC;QAJrC,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,YAAY,GAAZ,YAAY;AAGnB,QAAA,IAAI,CAAC,IAAI,GAAG,qBAAqB;;AAEhC,QAAA,IAAY,CAAC,SAAS,GAAG,sBAAsB;AAC/C,QAAA,IAAY,CAAC,QAAQ,GAAG,gBAAgB;IAC3C;AACD;AAcM,MAAM,gBAAgB,GAAG;IAC9B,eAAe,EAAE,CAAC,KAAc,KAAK,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;IACjE,aAAa,EAAE,CAAC,KAAc,KAAK,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9D,WAAW,EAAE,CAAC,KAAc,KAAK,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;IAC9D,WAAW,EAAE,CAAC,KAAc,KAC1B,KAAK,YAAY,kBAAkB;AACnC,QAAA,KAAK,YAAY,0BAA0B;AAC3C,QAAA,KAAK,YAAY,cAAc;AAC/B,QAAA,UAAU,CAAC,mBAAmB,CAAC,KAAK;CACvC;;ACjOD;;;;;AAKG;MACU,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAErB,IAAA,CAAA,QAAQ,GAAG,SAAS;IAFmB;;;;AAQ/C;;AAEG;IACH,MAAM,YAAY,CAAC,OAAe,EAAA;AAChC,QAAA,IAAI;AAEJ,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAY,CAAA,EAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAA,CAAE,CAAC;YAEnF,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,CAAA,CAAE,CAAC;YACnE;AAEA,YAAA,OAAO,QAAQ;QACjB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACxD,OAAO;AACP,gBAAA,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK;AAC7D,aAAA,CAAC;AACF,YAAA,MAAM,KAAK;QACb;IACF;AACC;;ACnCD;;;AAGG;AACI,MAAM,4BAA4B,GAAG,CAC1C,SAAoB,EACpB,OAAO,GAAG,KAAK,EACf,mBAAmB,GAAG,EAAE,EACxB,cAAsC,KACnB;AAEnB,IAAA,IAAI,cAA+B;AAEnC,IAAA,IAAI,SAAS,CAAC,UAAU,EAAE;;QAExB,MAAM,YAAY,GAAG,IAAIA,mBAAY,CAAC,SAAS,CAAC,MAAM,CAAC;AACvD,QAAA,YAAY,CAAC,OAAO,GAAG,OAAO;;QAG9B,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS;cACvD,SAAS,CAAC;AACZ,cAAE,CAAA,OAAA,EAAU,SAAS,CAAC,UAAU,EAAE;AAEpC,QAAA,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;AAClD,QAAA,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AAC1D,QAAA,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAEpD,IAAI,mBAAmB,EAAE;AACvB,YAAA,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;QAC3D;QAEA,cAAc,GAAG,IAAIC,sBAAe,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,EAAE;YACpE,aAAa,EAAE,IAAI;AACnB,YAAA,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,CAAC;AACjB,SAAA,CAAC;IACJ;SAAO;;QAEL,cAAc,GAAG,IAAIA,sBAAe,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE;YACxE,aAAa,EAAE,IAAI;AACnB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,cAAc;AACvB,CAAC;AAED;;AAEG;AACI,MAAM,wBAAwB,GAAG,OACtC,SAAoB,EACpB,OAAO,GAAG,KAAK,EACf,mBAAmB,GAAG,EAAE,EACxB,cAAsC,EACtC,WAAW,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KACrC;IAC5B,IAAI,SAAS,GAAiB,IAAI;AAElC,IAAA,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;AACnE,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,CAAC;AACtG,YAAA,MAAM,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AACpF,YAAA,OAAO,QAAQ;QAEjB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,SAAS,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YAGrE,IAAI,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;gBACnE;YACF;AAEA,YAAA,IAAI,OAAO,KAAK,WAAW,CAAC,WAAW;gBAAE;YAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAChD,WAAW,CAAC,QAAQ,CACrB;AAED,YAAA,MAAM,KAAK,CAAC,KAAK,CAAC;QACpB;IACF;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,CAAA,qCAAA,EAAwC,WAAW,CAAC,WAAW,CAAA,uBAAA,EAA0B,SAAS,EAAE,OAAO,CAAA,CAAE,CAAC;AAChI,CAAC;AAED,eAAe,uBAAuB,CAAC,QAAyB,EAAE,SAA+B,EAAA;AAC/F,IAAA,IAAI;;QAEF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,KAAI;AACtD,YAAA,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA,yBAAA,CAA2B,CAAC,CAAC,EAAE,IAAI,CAAC;AACpF,QAAA,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAEtD;IAAE,OAAO,KAAK,EAAE;;AAEd,QAAA,IAAI;YACF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,KAAI;AACtD,gBAAA,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA,kCAAA,CAAoC,CAAC,CAAC,EAAE,IAAI,CAAC;AAC7F,YAAA,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACvD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACtD;QAAE,OAAO,aAAa,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,SAAS,6BAA6B,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;QACpH;IACF;AACF;AAEA,SAAS,KAAK,CAAC,EAAU,EAAA;AACvB,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACxD;;MCvGa,gBAAgB,CAAA;AAI3B,IAAA,WAAA,CACU,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;AAHd,QAAA,IAAA,CAAA,KAAK,GAAGC,wBAAkB,CAAC,eAAe,CAAC,YAAY,CAAC;IAI7D;IAEH,MAAM,0BAA0B,CAAC,OAAe,EAAA;AAC9C,QAAA,MAAM,QAAQ,GAAG,CAAA,SAAA,EAAY,OAAO,EAAE;;QAGtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,QAAQ,CAAC;AAC5D,QAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YACpE,OAAO,MAAM,CAAC,QAAQ;QACxB;AAEA,QAAA,IAAI;;AAEF,YAAA,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;;AAG1E,YAAA,MAAM,UAAU,GAAwB;gBACtC,QAAQ;gBACR,SAAS;AACT,gBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB;aACD;AAED,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAEC,cAAQ,CAAC,QAAQ,CAAC;AACvD,YAAA,OAAO,QAAQ;QAEjB;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,IAAI,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AACvC,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;;AAG3B,gBAAA,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;AAE1E,gBAAA,MAAM,UAAU,GAAwB;oBACtC,QAAQ;oBACR,SAAS;AACT,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB;iBACD;AAED,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAEA,cAAQ,CAAC,QAAQ,CAAC;AACvD,gBAAA,OAAO,QAAQ;YACjB;AAEA,YAAA,MAAM,KAAK;QACb;IACF;IAEQ,MAAM,sBAAsB,CAAC,OAAe,EAAA;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAA,CAAE,CAAC;QACjE;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,SAAS,CAAC;AAE1D,QAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC;IAEO,MAAM,qBAAqB,CAAC,OAAe,EAAA;AAChD,QAAA,MAAM,QAAQ,GAAG,CAAA,UAAA,EAAa,OAAO,EAAE;;AAGvC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAA,SAAA,EAAY,OAAO,CAAA,CAAE,CAAC;AACjF,QAAA,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YACpF,OAAO,cAAc,CAAC,SAAS;QACjC;;QAGA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CACxB,QAAQ,EACR,YAAW;YACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC;YAC/D,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAA,CAAE,CAAC;YACjE;AACA,YAAA,OAAO,SAAS;AAClB,QAAA,CAAC,EACDA,cAAQ,CAAC,MAAM;SAChB;IACH;AAEQ,IAAA,mBAAmB,CAAC,UAAmB,EAAA;;QAE7C,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,KAAK,CAAC;QACf;;AAGA,QAAA,OAAO,cAAc,CAAC,UAAU,CAAC;IACnC;AAEA;;;AAGG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;IACpB;AAEA;;;AAGG;AACI,IAAA,kBAAkB,CAAC,OAAe,EAAA;QACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,SAAA,EAAY,OAAO,CAAA,CAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC;IAC3C;AAED;;;;;;;;;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* PERS Authentication Provider Interface
|
|
3
3
|
* Clean, scalable contract for authentication providers
|
|
4
4
|
*/
|
|
5
|
+
import { AuthStatus } from './auth-status';
|
|
5
6
|
export type AuthType = 'user' | 'admin';
|
|
6
7
|
/**
|
|
7
8
|
* Core authentication provider interface
|
|
@@ -13,10 +14,8 @@ export interface PersAuthProvider {
|
|
|
13
14
|
getToken(): Promise<string | null>;
|
|
14
15
|
/** Get project key for API requests */
|
|
15
16
|
getProjectKey(): Promise<string | null>;
|
|
16
|
-
/** Handle
|
|
17
|
-
|
|
18
|
-
/** Check if error indicates token expiration */
|
|
19
|
-
isTokenExpiredError?(error: unknown): boolean;
|
|
17
|
+
/** Handle authentication status changes */
|
|
18
|
+
onAuthStatusChange?(status: AuthStatus): Promise<void>;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
21
|
* Extended interface for providers that support token storage
|
|
@@ -42,8 +41,7 @@ export interface AuthConfig {
|
|
|
42
41
|
authType?: AuthType;
|
|
43
42
|
projectKey?: string;
|
|
44
43
|
tokenProvider?: () => Promise<string | null>;
|
|
45
|
-
|
|
46
|
-
onTokenRefreshed?: (token: string) => void;
|
|
44
|
+
onAuthStatusChange?: (status: AuthStatus) => Promise<void>;
|
|
47
45
|
/** Custom token storage (overrides auto-detection) */
|
|
48
46
|
storage?: import('./token-storage').TokenStorage;
|
|
49
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/core/auth/auth-provider.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,uCAAuC;IACvC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC,
|
|
1
|
+
{"version":3,"file":"auth-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/core/auth/auth-provider.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,uCAAuC;IACvC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC,2CAA2C;IAC3C,kBAAkB,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,YAAY,CAAC;CAClD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication status enumeration
|
|
3
|
+
* Represents the current state of the authentication system
|
|
4
|
+
*/
|
|
5
|
+
export declare enum AuthStatus {
|
|
6
|
+
/** User is authenticated with valid tokens */
|
|
7
|
+
AUTHENTICATED = "authenticated",
|
|
8
|
+
/** Access token has expired, refresh may be possible */
|
|
9
|
+
TOKEN_EXPIRED = "token_expired",
|
|
10
|
+
/** Authentication system has failed, manual re-authentication required */
|
|
11
|
+
AUTH_FAILED = "auth_failed",
|
|
12
|
+
/** Currently attempting to refresh tokens */
|
|
13
|
+
REFRESHING = "refreshing",
|
|
14
|
+
/** No authentication present */
|
|
15
|
+
UNAUTHENTICATED = "unauthenticated"
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=auth-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../../src/core/auth/auth-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IACpB,8CAA8C;IAC9C,aAAa,kBAAkB;IAE/B,wDAAwD;IACxD,aAAa,kBAAkB;IAE/B,0EAA0E;IAC1E,WAAW,gBAAgB;IAE3B,6CAA6C;IAC7C,UAAU,eAAe;IAEzB,gCAAgC;IAChC,eAAe,oBAAoB;CACpC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Simple implementation of PERS authentication with token lifecycle management
|
|
4
4
|
*/
|
|
5
5
|
import { TokenStorageProvider, AuthConfig, AuthType } from './auth-provider.interface';
|
|
6
|
+
import { AuthStatus } from './auth-status';
|
|
6
7
|
/**
|
|
7
8
|
* Simple authentication provider with token storage
|
|
8
9
|
*/
|
|
@@ -14,7 +15,7 @@ export declare class DefaultAuthProvider implements TokenStorageProvider {
|
|
|
14
15
|
private createStorage;
|
|
15
16
|
getToken(): Promise<string | null>;
|
|
16
17
|
getProjectKey(): Promise<string | null>;
|
|
17
|
-
|
|
18
|
+
onAuthStatusChange(status: AuthStatus): Promise<void>;
|
|
18
19
|
setAccessToken(token: string): Promise<void>;
|
|
19
20
|
setRefreshToken(token: string): Promise<void>;
|
|
20
21
|
getRefreshToken(): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-auth-provider.d.ts","sourceRoot":"","sources":["../../../src/core/auth/default-auth-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"default-auth-provider.d.ts","sourceRoot":"","sources":["../../../src/core/auth/default-auth-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEvF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAIlD,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,YAAY,CAAmB;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAER,MAAM,GAAE,UAAe;IAM3C,OAAO,CAAC,aAAa;IAMrB,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI5B,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;CAGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-manager.d.ts","sourceRoot":"","sources":["../../../src/core/auth/refresh-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAO;gBAGvC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB;IAGlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"refresh-manager.d.ts","sourceRoot":"","sources":["../../../src/core/auth/refresh-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAO;gBAGvC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB;IAGlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;CAajD"}
|
|
@@ -19,7 +19,12 @@ export declare class AuthService {
|
|
|
19
19
|
private authApi;
|
|
20
20
|
private authProvider?;
|
|
21
21
|
private activeRefreshPromise;
|
|
22
|
+
private currentAuthStatus;
|
|
22
23
|
constructor(authApi: AuthApi, authProvider?: TokenStorageProvider | undefined);
|
|
24
|
+
/**
|
|
25
|
+
* Emit auth status change to the app
|
|
26
|
+
*/
|
|
27
|
+
private emitAuthStatus;
|
|
23
28
|
/**
|
|
24
29
|
* Login tenant admin with JWT
|
|
25
30
|
*/
|
|
@@ -48,7 +53,7 @@ export declare class AuthService {
|
|
|
48
53
|
* Handle authentication failure with proper cleanup
|
|
49
54
|
* Centralized method to avoid redundant token cleanup logic
|
|
50
55
|
*/
|
|
51
|
-
handleAuthFailure(
|
|
56
|
+
handleAuthFailure(): Promise<void>;
|
|
52
57
|
/**
|
|
53
58
|
* Check if we have valid authentication tokens
|
|
54
59
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-service.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/services/auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-service.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/services/auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY,CAAC;IALvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAA8B;gBAG7C,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,kCAAsB;IAI7C;;OAEG;YACW,cAAc;IAkB5B;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUpE;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU7F;;OAEG;IACG,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBhF;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAexC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAUtC;;OAEG;YACW,WAAW;CAgC1B"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized Cache Service for PERS SDK
|
|
3
|
-
*
|
|
3
|
+
* Simple, efficient caching with memory management
|
|
4
4
|
*/
|
|
5
5
|
interface CacheConfig {
|
|
6
6
|
defaultTtl: number;
|
|
7
7
|
maxMemoryMB: number;
|
|
8
8
|
cleanupInterval: number;
|
|
9
|
-
|
|
9
|
+
maxEntries: number;
|
|
10
|
+
evictionBatchPercent: number;
|
|
10
11
|
}
|
|
11
12
|
export declare class CacheService {
|
|
12
13
|
private cache;
|
|
13
14
|
private cleanupTimer;
|
|
14
15
|
private config;
|
|
16
|
+
private lastMemoryCheck;
|
|
17
|
+
private pendingFetches;
|
|
18
|
+
private accessOrder;
|
|
19
|
+
private stats;
|
|
15
20
|
constructor(config?: Partial<CacheConfig>);
|
|
16
21
|
/**
|
|
17
22
|
* Set a value in cache with optional TTL
|
|
@@ -22,7 +27,7 @@ export declare class CacheService {
|
|
|
22
27
|
*/
|
|
23
28
|
get<T>(key: string): T | null;
|
|
24
29
|
/**
|
|
25
|
-
* Get or set pattern - common caching pattern
|
|
30
|
+
* Get or set pattern - common caching pattern with race condition protection
|
|
26
31
|
*/
|
|
27
32
|
getOrSet<T>(key: string, fetcher: () => Promise<T>, ttl?: number): Promise<T>;
|
|
28
33
|
/**
|
|
@@ -37,37 +42,16 @@ export declare class CacheService {
|
|
|
37
42
|
* Clear all cache
|
|
38
43
|
*/
|
|
39
44
|
clear(): void;
|
|
40
|
-
/**
|
|
41
|
-
* Get cache statistics
|
|
42
|
-
*/
|
|
43
|
-
getStats(): {
|
|
44
|
-
size: number;
|
|
45
|
-
memoryUsageMB: number;
|
|
46
|
-
hitRate: number;
|
|
47
|
-
oldestEntry: number;
|
|
48
|
-
};
|
|
49
45
|
/**
|
|
50
46
|
* Force cleanup of expired entries
|
|
51
47
|
*/
|
|
52
48
|
cleanup(): number;
|
|
53
49
|
/**
|
|
54
|
-
*
|
|
55
|
-
*/
|
|
56
|
-
private startCleanupTimer;
|
|
57
|
-
/**
|
|
58
|
-
* Stop automatic cleanup timer
|
|
50
|
+
* Stop cleanup timer and clear cache
|
|
59
51
|
*/
|
|
60
52
|
destroy(): void;
|
|
61
53
|
/**
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
|
-
private estimateMemoryUsage;
|
|
65
|
-
/**
|
|
66
|
-
* Enforce memory limit using LRU eviction
|
|
67
|
-
*/
|
|
68
|
-
private enforceMemoryLimit;
|
|
69
|
-
/**
|
|
70
|
-
* Create a namespaced cache interface for services
|
|
54
|
+
* Create a namespaced cache interface
|
|
71
55
|
*/
|
|
72
56
|
createNamespace(namespace: string): {
|
|
73
57
|
set: <T>(key: string, value: T, ttl?: number) => void;
|
|
@@ -76,7 +60,19 @@ export declare class CacheService {
|
|
|
76
60
|
delete: (key: string) => boolean;
|
|
77
61
|
clear: () => number;
|
|
78
62
|
};
|
|
63
|
+
private startCleanupTimer;
|
|
64
|
+
private stopCleanupTimer;
|
|
65
|
+
private safeCleanup;
|
|
66
|
+
private estimateValueSize;
|
|
67
|
+
private estimateMemoryUsage;
|
|
68
|
+
private enforceMemoryLimit;
|
|
69
|
+
private evictOldestEntries;
|
|
79
70
|
}
|
|
80
71
|
export declare const globalCacheService: CacheService;
|
|
72
|
+
/**
|
|
73
|
+
* Platform-agnostic cleanup registration
|
|
74
|
+
* Safely handles Node.js, browser, and other JavaScript environments
|
|
75
|
+
*/
|
|
76
|
+
export declare function registerCleanupHandlers(): void;
|
|
81
77
|
export {};
|
|
82
78
|
//# sourceMappingURL=cache.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../../src/core/cache/cache.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../../src/core/cache/cache.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAeD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,KAAK,CAIX;gBAEU,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAKzC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IA0BjD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAwB7B;;OAEG;IACG,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BnF;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK5B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,OAAO,IAAI,MAAM;IAiBjB;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM;sBAMf,MAAM,SAAS,CAAC,QAAQ,MAAM;wBAC9B,MAAM;6BACD,MAAM,qCAAmC,MAAM;sBACpD,MAAM;;;IAKxB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,kBAAkB;CAiB3B;AAGD,eAAO,MAAM,kBAAkB,cAAqB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CA6B9C"}
|
|
@@ -22,6 +22,11 @@ export declare class ErrorUtils {
|
|
|
22
22
|
* Fast retryability check
|
|
23
23
|
*/
|
|
24
24
|
static isRetryable(error: unknown): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Extract detailed error information from backend response
|
|
27
|
+
* Centralized method for consistent error structure extraction
|
|
28
|
+
*/
|
|
29
|
+
static extractBackendErrorDetails(error: unknown): any;
|
|
25
30
|
/**
|
|
26
31
|
* Check if error is from PERS API (uses @explorins/pers-shared format)
|
|
27
32
|
*/
|
|
@@ -54,12 +59,18 @@ export declare class PersApiError extends Error {
|
|
|
54
59
|
endpoint: string;
|
|
55
60
|
method: string;
|
|
56
61
|
status?: number | undefined;
|
|
57
|
-
readonly errorCode
|
|
62
|
+
readonly errorCode: string;
|
|
58
63
|
readonly domain = "api";
|
|
59
|
-
readonly category
|
|
64
|
+
readonly category: string;
|
|
60
65
|
readonly retryable: boolean;
|
|
61
66
|
constructor(message: string, endpoint: string, method: string, status?: number | undefined, retryable?: boolean);
|
|
62
67
|
}
|
|
68
|
+
export declare class AuthenticationError extends PersApiError {
|
|
69
|
+
backendErrorCode?: string | undefined;
|
|
70
|
+
userMessage?: string | undefined;
|
|
71
|
+
backendTitle?: string | undefined;
|
|
72
|
+
constructor(message: string, endpoint: string, method: string, backendErrorCode?: string | undefined, userMessage?: string | undefined, backendTitle?: string | undefined);
|
|
73
|
+
}
|
|
63
74
|
export declare class NetworkError extends Error {
|
|
64
75
|
readonly errorCode = "NETWORK_ERROR";
|
|
65
76
|
readonly domain = "api";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,qBAAa,UAAU;IAErB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,qBAAa,UAAU;IAErB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA4BnD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAOzC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAM/C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAY3C;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG;IA4CtD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB;CAInE;AAGD,qBAAa,kBAAmB,SAAQ,KAAK;IAMxB,YAAY,EAAE,MAAM;IALvC,QAAQ,CAAC,SAAS,0BAA0B;IAC5C,QAAQ,CAAC,MAAM,UAAU;IACzB,QAAQ,CAAC,QAAQ,cAAc;IAC/B,QAAQ,CAAC,SAAS,QAAQ;gBAEP,YAAY,EAAE,MAAM;CAIxC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IAMhC,aAAa,EAAE,MAAM;IALxC,QAAQ,CAAC,SAAS,mCAAmC;IACrD,QAAQ,CAAC,MAAM,UAAU;IACzB,QAAQ,CAAC,QAAQ,cAAc;IAC/B,QAAQ,CAAC,SAAS,QAAQ;gBAEP,aAAa,EAAE,MAAM;CAIzC;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,SAAS,qBAAqB;IACvC,QAAQ,CAAC,MAAM,UAAU;IACzB,QAAQ,CAAC,QAAQ,cAAc;IAC/B,QAAQ,CAAC,SAAS,SAAS;gBAEf,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,KAAK;IAQ5B,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,MAAM,CAAC;IAThB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAoB;IAC9C,QAAQ,CAAC,MAAM,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAe;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,oBAAQ,EACtB,SAAS,GAAE,OAAe;CAM7B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IAK1C,gBAAgB,CAAC;IACjB,WAAW,CAAC;IACZ,YAAY,CAAC;gBALpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACP,gBAAgB,CAAC,oBAAQ,EACzB,WAAW,CAAC,oBAAQ,EACpB,YAAY,CAAC,oBAAQ;CAQ/B;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,SAAS,mBAAmB;IACrC,QAAQ,CAAC,MAAM,SAAS;IACxB,QAAQ,CAAC,QAAQ,oBAAoB;IACrC,QAAQ,CAAC,SAAS,QAAQ;gBAEd,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,gBAAgB;6BACF,OAAO;2BACT,OAAO;yBACT,OAAO;yBACP,OAAO;CAK7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pers-api-client.d.ts","sourceRoot":"","sources":["../../src/core/pers-api-client.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAkB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAgB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"pers-api-client.d.ts","sourceRoot":"","sources":["../../src/core/pers-api-client.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAkB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAgB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAa3D,qBAAa,aAAa;IActB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IAdhB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD;;;;;OAKG;gBAEO,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU;IA6B5B;;;;;;;;;OASG;YACW,gBAAgB;YAKhB,sBAAsB;IAIpC;;OAEG;YACW,OAAO;IA4GrB;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAInG;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3H;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1D;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7C;;;;OAIG;YACW,UAAU;IAqCxB;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC;IAIjD;;OAEG;IACH,iBAAiB,IAAI,UAAU;CAGhC"}
|
|
@@ -51,10 +51,6 @@ export interface PersConfig {
|
|
|
51
51
|
/** Internal - API root URL constructed automatically */
|
|
52
52
|
readonly apiRoot?: string;
|
|
53
53
|
}
|
|
54
|
-
export interface PersAuthConfig {
|
|
55
|
-
type: 'firebase' | 'jwt' | 'none';
|
|
56
|
-
tokenProvider?: () => Promise<string | null>;
|
|
57
|
-
}
|
|
58
54
|
/**
|
|
59
55
|
* Default configuration values
|
|
60
56
|
*/
|