@explorins/pers-sdk 2.1.33-alpha.0 → 2.1.37
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/README.md +7 -0
- package/dist/analytics/api/analytics-api.d.ts +42 -1
- package/dist/analytics/api/analytics-api.d.ts.map +1 -1
- package/dist/analytics/models/index.d.ts +2 -2
- package/dist/analytics/models/index.d.ts.map +1 -1
- package/dist/analytics/services/analytics-service.d.ts +8 -1
- package/dist/analytics/services/analytics-service.d.ts.map +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.js +1 -1
- package/dist/business/api/business-api.d.ts +6 -3
- package/dist/business/api/business-api.d.ts.map +1 -1
- package/dist/business/services/business-service.d.ts +2 -2
- package/dist/business/services/business-service.d.ts.map +1 -1
- package/dist/business.cjs +1 -1
- package/dist/business.js +1 -1
- package/dist/chunks/{analytics-service-vm7B7LhS.js → analytics-service-CF7hSwhy.js} +53 -1
- package/dist/chunks/analytics-service-CF7hSwhy.js.map +1 -0
- package/dist/chunks/{analytics-service-CF9AsMQH.cjs → analytics-service-CRs9cpkg.cjs} +53 -1
- package/dist/chunks/analytics-service-CRs9cpkg.cjs.map +1 -0
- package/dist/chunks/{base-token-service-BiSXWqOy.js → base-token-service-BGuuZX4b.js} +2 -2
- package/dist/chunks/{base-token-service-BiSXWqOy.js.map → base-token-service-BGuuZX4b.js.map} +1 -1
- package/dist/chunks/{base-token-service-CReAW_nz.cjs → base-token-service-DSye0WD2.cjs} +2 -2
- package/dist/chunks/{base-token-service-CReAW_nz.cjs.map → base-token-service-DSye0WD2.cjs.map} +1 -1
- package/dist/chunks/{business-membership-service-DXLG5fP9.cjs → business-membership-service-B9ItWZ2_.cjs} +18 -16
- package/dist/chunks/business-membership-service-B9ItWZ2_.cjs.map +1 -0
- package/dist/chunks/{business-membership-service-IyY5CkL0.js → business-membership-service-CPcE-AW0.js} +18 -16
- package/dist/chunks/business-membership-service-CPcE-AW0.js.map +1 -0
- package/dist/chunks/{index-8y63MFOX.js → index--OssIds0.js} +48 -22
- package/dist/chunks/index--OssIds0.js.map +1 -0
- package/dist/chunks/{index-CVuttuU8.cjs → index-C4K-jkRO.cjs} +48 -20
- package/dist/chunks/index-C4K-jkRO.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-DAllRtm3.js → pers-sdk-Dds2lB27.js} +560 -51
- package/dist/chunks/pers-sdk-Dds2lB27.js.map +1 -0
- package/dist/chunks/{pers-sdk-CEAAI2U0.cjs → pers-sdk-DemghJ3a.cjs} +561 -50
- package/dist/chunks/pers-sdk-DemghJ3a.cjs.map +1 -0
- package/dist/chunks/{redemption-service-czBfCP-3.js → redemption-service-DWhZgrZT.js} +9 -1
- package/dist/chunks/{redemption-service-czBfCP-3.js.map → redemption-service-DWhZgrZT.js.map} +1 -1
- package/dist/chunks/{redemption-service-CVD2PzBO.cjs → redemption-service-Dc_0Kzd0.cjs} +9 -1
- package/dist/chunks/{redemption-service-CVD2PzBO.cjs.map → redemption-service-Dc_0Kzd0.cjs.map} +1 -1
- package/dist/chunks/{tenant-manager-BdJYwIgL.cjs → tenant-manager-DR5eSEJw.cjs} +2 -2
- package/dist/chunks/{tenant-manager-BdJYwIgL.cjs.map → tenant-manager-DR5eSEJw.cjs.map} +1 -1
- package/dist/chunks/{tenant-manager-D9ihQLhf.js → tenant-manager-xmYKBFGu.js} +2 -2
- package/dist/chunks/{tenant-manager-D9ihQLhf.js.map → tenant-manager-xmYKBFGu.js.map} +1 -1
- package/dist/chunks/{token-service-C1xe11OX.cjs → token-service-BJqu5Xap.cjs} +88 -2
- package/dist/chunks/token-service-BJqu5Xap.cjs.map +1 -0
- package/dist/chunks/{token-service-BxEO5YVN.js → token-service-qRSYG9uT.js} +88 -2
- package/dist/chunks/token-service-qRSYG9uT.js.map +1 -0
- package/dist/chunks/{web3-chain-service-DRoykR1u.js → web3-chain-service-BWRmwmmJ.js} +2 -2
- package/dist/chunks/{web3-chain-service-DRoykR1u.js.map → web3-chain-service-BWRmwmmJ.js.map} +1 -1
- package/dist/chunks/{web3-chain-service-CSxlvjMg.cjs → web3-chain-service-D6tBL0F7.cjs} +2 -2
- package/dist/chunks/{web3-chain-service-CSxlvjMg.cjs.map → web3-chain-service-D6tBL0F7.cjs.map} +1 -1
- package/dist/chunks/{web3-manager-DKHJrBYE.cjs → web3-manager-C-JflQ86.cjs} +4 -4
- package/dist/chunks/{web3-manager-DKHJrBYE.cjs.map → web3-manager-C-JflQ86.cjs.map} +1 -1
- package/dist/chunks/{web3-manager-NMLZ3pu7.js → web3-manager-Dvcq4xmn.js} +4 -4
- package/dist/chunks/{web3-manager-NMLZ3pu7.js.map → web3-manager-Dvcq4xmn.js.map} +1 -1
- package/dist/core/auth/default-auth-provider.d.ts +31 -0
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/dpop/dpop-manager.d.ts +11 -0
- package/dist/core/auth/dpop/dpop-manager.d.ts.map +1 -1
- package/dist/core/auth/indexed-db-storage.d.ts.map +1 -1
- package/dist/core/auth/refresh-manager.d.ts +34 -2
- package/dist/core/auth/refresh-manager.d.ts.map +1 -1
- package/dist/core/auth/services/auth-service.d.ts +58 -2
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/auth/token-storage.d.ts +6 -0
- package/dist/core/auth/token-storage.d.ts.map +1 -1
- package/dist/core/errors/index.d.ts +6 -6
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/events/event-types.d.ts +5 -1
- package/dist/core/events/event-types.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/utils/jwt.function.d.ts +14 -0
- package/dist/core/utils/jwt.function.d.ts.map +1 -1
- package/dist/core.cjs +9 -7
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +7 -7
- package/dist/index.cjs +10 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/managers/analytics-manager.d.ts +48 -1
- package/dist/managers/analytics-manager.d.ts.map +1 -1
- package/dist/managers/redemption-manager.d.ts +45 -1
- package/dist/managers/redemption-manager.d.ts.map +1 -1
- package/dist/managers/token-manager.d.ts +97 -2
- package/dist/managers/token-manager.d.ts.map +1 -1
- package/dist/node.cjs +7 -7
- package/dist/node.js +7 -7
- package/dist/package.json +4 -2
- package/dist/redemption/services/redemption-service.d.ts +6 -0
- package/dist/redemption/services/redemption-service.d.ts.map +1 -1
- package/dist/redemption.cjs +1 -1
- package/dist/redemption.js +1 -1
- package/dist/token/api/token-api.d.ts +41 -1
- package/dist/token/api/token-api.d.ts.map +1 -1
- package/dist/token/index.d.ts +1 -1
- package/dist/token/index.d.ts.map +1 -1
- package/dist/token/services/token-service.d.ts +30 -1
- package/dist/token/services/token-service.d.ts.map +1 -1
- package/dist/token.cjs +2 -2
- package/dist/token.js +2 -2
- package/dist/user/api/user-api.d.ts.map +1 -1
- package/dist/user.cjs +6 -11
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +6 -11
- package/dist/user.js.map +1 -1
- package/dist/web3-chain.cjs +2 -2
- package/dist/web3-chain.js +2 -2
- package/dist/web3-manager.cjs +4 -4
- package/dist/web3-manager.js +4 -4
- package/dist/web3.cjs +4 -4
- package/dist/web3.js +4 -4
- package/package.json +4 -2
- package/dist/chunks/analytics-service-CF9AsMQH.cjs.map +0 -1
- package/dist/chunks/analytics-service-vm7B7LhS.js.map +0 -1
- package/dist/chunks/business-membership-service-DXLG5fP9.cjs.map +0 -1
- package/dist/chunks/business-membership-service-IyY5CkL0.js.map +0 -1
- package/dist/chunks/index-8y63MFOX.js.map +0 -1
- package/dist/chunks/index-CVuttuU8.cjs.map +0 -1
- package/dist/chunks/pers-sdk-CEAAI2U0.cjs.map +0 -1
- package/dist/chunks/pers-sdk-DAllRtm3.js.map +0 -1
- package/dist/chunks/token-service-BxEO5YVN.js.map +0 -1
- package/dist/chunks/token-service-C1xe11OX.cjs.map +0 -1
|
@@ -73,7 +73,7 @@ class BusinessApi {
|
|
|
73
73
|
/**
|
|
74
74
|
* Get all businesses with role-based filtering and pagination
|
|
75
75
|
*
|
|
76
|
-
* Endpoint: GET /businesses?active={boolean}&sanitize={mode}&page={number}&limit={number}
|
|
76
|
+
* Endpoint: GET /businesses?active={boolean}&sanitize={mode}&page={number}&limit={number}&businessTypeId={number}
|
|
77
77
|
* Auth: @ApiSecurity('projectKey') (enhanced with role-based filtering)
|
|
78
78
|
*
|
|
79
79
|
* Note:
|
|
@@ -96,8 +96,11 @@ class BusinessApi {
|
|
|
96
96
|
* });
|
|
97
97
|
*
|
|
98
98
|
* // Filter by tag(s)
|
|
99
|
-
* const tagged = await businessApi.getBusinesses({
|
|
100
|
-
* const multiTag = await businessApi.getBusinesses({
|
|
99
|
+
* const tagged = await businessApi.getBusinesses({ tags: 'restaurant' });
|
|
100
|
+
* const multiTag = await businessApi.getBusinesses({ tags: ['restaurant', 'cafe'] });
|
|
101
|
+
*
|
|
102
|
+
* // Filter by business type
|
|
103
|
+
* const hotels = await businessApi.getBusinesses({ businessTypeId: 1 });
|
|
101
104
|
* ```
|
|
102
105
|
*/
|
|
103
106
|
async getBusinesses(options) {
|
|
@@ -117,6 +120,9 @@ class BusinessApi {
|
|
|
117
120
|
if (options?.sanitize) {
|
|
118
121
|
params.set('sanitize', options.sanitize);
|
|
119
122
|
}
|
|
123
|
+
if (options?.businessTypeId !== undefined) {
|
|
124
|
+
params.set('businessTypeId', String(options.businessTypeId));
|
|
125
|
+
}
|
|
120
126
|
const response = await this.apiClient.get(`${this.basePath}?${params.toString()}`);
|
|
121
127
|
return normalizeToPaginated(response);
|
|
122
128
|
}
|
|
@@ -463,20 +469,16 @@ class BusinessService {
|
|
|
463
469
|
return this.businessApi.getBusinessByAccount(accountAddress);
|
|
464
470
|
}
|
|
465
471
|
/**
|
|
466
|
-
* Get businesses by type (
|
|
467
|
-
*
|
|
472
|
+
* Get businesses by type (server-side filtering)
|
|
473
|
+
* Uses the businessTypeId parameter for efficient server-side filtering.
|
|
468
474
|
*/
|
|
469
475
|
async getBusinessesByType(typeId, options) {
|
|
470
|
-
const
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
total: filtered.length,
|
|
477
|
-
pages: Math.ceil(filtered.length / (response.pagination.limit || 20))
|
|
478
|
-
}
|
|
479
|
-
};
|
|
476
|
+
const businessTypeId = parseInt(typeId, 10);
|
|
477
|
+
return this.businessApi.getBusinesses({
|
|
478
|
+
...options,
|
|
479
|
+
businessTypeId,
|
|
480
|
+
active: options?.active ?? true // Default to active businesses
|
|
481
|
+
});
|
|
480
482
|
}
|
|
481
483
|
// ==========================================
|
|
482
484
|
// ADMIN OPERATIONS
|
|
@@ -777,4 +779,4 @@ class BusinessMembershipService {
|
|
|
777
779
|
}
|
|
778
780
|
|
|
779
781
|
export { BusinessApi as B, BusinessMembershipApi as a, BusinessService as b, BusinessMembershipService as c };
|
|
780
|
-
//# sourceMappingURL=business-membership-service-
|
|
782
|
+
//# sourceMappingURL=business-membership-service-CPcE-AW0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business-membership-service-CPcE-AW0.js","sources":["../../src/business/api/business-api.ts","../../src/business/api/business-membership-api.ts","../../src/business/services/business-service.ts","../../src/business/services/business-membership-service.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,53 @@
|
|
|
1
|
-
import { ErrorCategory, Domains
|
|
1
|
+
import { CommonErrorCodes, ErrorDomains, ErrorCategory, Domains } from '@explorins/pers-shared';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* JWT token expiration utilities
|
|
5
5
|
* Native implementation without external dependencies for optimal performance
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Decode JWT payload without verification
|
|
9
9
|
* @param token JWT token (with or without Bearer prefix)
|
|
10
|
-
* @
|
|
10
|
+
* @returns Decoded payload or null if invalid
|
|
11
11
|
*/
|
|
12
|
-
const
|
|
12
|
+
const decodeJwtPayload = (token) => {
|
|
13
13
|
const cleanToken = token.replace(/^Bearer\s+/i, '');
|
|
14
14
|
if (!cleanToken || cleanToken.split('.').length !== 3) {
|
|
15
|
-
return
|
|
15
|
+
return null;
|
|
16
16
|
}
|
|
17
17
|
try {
|
|
18
|
-
|
|
19
|
-
if (!payload.exp)
|
|
20
|
-
return false;
|
|
21
|
-
const currentTime = Math.floor(Date.now() / 1000);
|
|
22
|
-
return payload.exp < (currentTime + margin);
|
|
18
|
+
return JSON.parse(atob(cleanToken.split('.')[1]));
|
|
23
19
|
}
|
|
24
20
|
catch {
|
|
25
|
-
return
|
|
21
|
+
return null;
|
|
26
22
|
}
|
|
27
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Check if JWT token is expired or expiring within margin
|
|
26
|
+
* @param token JWT token (with or without Bearer prefix)
|
|
27
|
+
* @param margin Safety margin in seconds before expiry (default: 60)
|
|
28
|
+
*/
|
|
29
|
+
const isTokenExpired = (token, margin = 60) => {
|
|
30
|
+
const payload = decodeJwtPayload(token);
|
|
31
|
+
if (!payload)
|
|
32
|
+
return true;
|
|
33
|
+
if (!payload.exp)
|
|
34
|
+
return false;
|
|
35
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
36
|
+
return payload.exp < (currentTime + margin);
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Get remaining time-to-live for a JWT token in seconds
|
|
40
|
+
* @param token JWT token (with or without Bearer prefix)
|
|
41
|
+
* @returns Remaining TTL in seconds, or null if invalid/expired
|
|
42
|
+
*/
|
|
43
|
+
const getTokenTimeToLive = (token) => {
|
|
44
|
+
const payload = decodeJwtPayload(token);
|
|
45
|
+
if (!payload?.exp)
|
|
46
|
+
return null;
|
|
47
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
48
|
+
const ttl = payload.exp - currentTime;
|
|
49
|
+
return ttl > 0 ? ttl : null;
|
|
50
|
+
};
|
|
28
51
|
|
|
29
52
|
/**
|
|
30
53
|
* PERS SDK Error Handling - Optimized for Performance
|
|
@@ -53,12 +76,12 @@ class ErrorUtils {
|
|
|
53
76
|
return false;
|
|
54
77
|
const err = error;
|
|
55
78
|
// Check for explicit token expired indicators
|
|
56
|
-
if (err?.code ===
|
|
79
|
+
if (err?.code === CommonErrorCodes.TOKEN_EXPIRED || err?.errorCode === CommonErrorCodes.TOKEN_EXPIRED) {
|
|
57
80
|
return true;
|
|
58
81
|
}
|
|
59
82
|
// Check in response data
|
|
60
83
|
const apiError = err?.response?.data || err;
|
|
61
|
-
if (apiError?.code ===
|
|
84
|
+
if (apiError?.code === CommonErrorCodes.TOKEN_EXPIRED || apiError?.errorCode === CommonErrorCodes.TOKEN_EXPIRED) {
|
|
62
85
|
return true;
|
|
63
86
|
}
|
|
64
87
|
// Any 401 error is treated as token expiration
|
|
@@ -128,7 +151,9 @@ class ErrorUtils {
|
|
|
128
151
|
// Try extraction strategies in priority order
|
|
129
152
|
const candidates = [
|
|
130
153
|
this.parseHttpClientError(error), // React Native format
|
|
131
|
-
httpError.response
|
|
154
|
+
httpError.response && typeof httpError.response === 'object'
|
|
155
|
+
? httpError.response.data
|
|
156
|
+
: undefined, // Axios/fetch format
|
|
132
157
|
httpError.error, // Angular HttpErrorResponse
|
|
133
158
|
httpError // Direct error object
|
|
134
159
|
];
|
|
@@ -147,8 +172,9 @@ class ErrorUtils {
|
|
|
147
172
|
* Check if object has structured error fields from backend (StructuredError)
|
|
148
173
|
*/
|
|
149
174
|
static hasStructuredErrorFields(obj) {
|
|
150
|
-
return obj && typeof obj === 'object' &&
|
|
151
|
-
((
|
|
175
|
+
return obj !== null && typeof obj === 'object' &&
|
|
176
|
+
(('code' in obj && 'category' in obj) ||
|
|
177
|
+
('status' in obj && ('detail' in obj || 'message' in obj || 'title' in obj)));
|
|
152
178
|
}
|
|
153
179
|
/**
|
|
154
180
|
* Create fallback error structure when no structured error found
|
|
@@ -159,9 +185,9 @@ class ErrorUtils {
|
|
|
159
185
|
title: 'Request failed',
|
|
160
186
|
message: this.getMessage(error),
|
|
161
187
|
detail: this.getMessage(error),
|
|
162
|
-
code:
|
|
188
|
+
code: CommonErrorCodes.TECHNICAL_ERROR,
|
|
163
189
|
category: ErrorCategory.TECHNICAL,
|
|
164
|
-
domain:
|
|
190
|
+
domain: ErrorDomains.EXTERNAL,
|
|
165
191
|
retryable: this.isRetryable(error)
|
|
166
192
|
};
|
|
167
193
|
}
|
|
@@ -240,7 +266,7 @@ class PersApiError extends Error {
|
|
|
240
266
|
this.method = method;
|
|
241
267
|
this.name = 'PersApiError';
|
|
242
268
|
// Use backend error details directly
|
|
243
|
-
this.code = backendError?.code ||
|
|
269
|
+
this.code = backendError?.code || CommonErrorCodes.TECHNICAL_ERROR;
|
|
244
270
|
this.domain = backendError?.domain || ErrorDomains.EXTERNAL;
|
|
245
271
|
this.category = backendError?.category || ErrorCategory.TECHNICAL;
|
|
246
272
|
this.retryable = backendError?.retryable ?? (statusCode ? statusCode >= 500 : false);
|
|
@@ -264,7 +290,7 @@ class AuthenticationError extends PersApiError {
|
|
|
264
290
|
class NetworkError extends Error {
|
|
265
291
|
constructor(message) {
|
|
266
292
|
super(message);
|
|
267
|
-
this.code =
|
|
293
|
+
this.code = CommonErrorCodes.EXTERNAL_SERVICE_ERROR;
|
|
268
294
|
this.domain = ErrorDomains.EXTERNAL;
|
|
269
295
|
this.category = ErrorCategory.INFRASTRUCTURE;
|
|
270
296
|
this.retryable = true;
|
|
@@ -560,5 +586,5 @@ const CacheTTL = {
|
|
|
560
586
|
PROVIDER: 60 * 60 * 1000, // 1 hour - Provider connections with auth
|
|
561
587
|
};
|
|
562
588
|
|
|
563
|
-
export { AuthenticationError as A, CacheTTL as C, ErrorUtils as E, LogoutRequired as L, NetworkError as N, ProviderTokenRefreshNeeded as P, SdkErrorCodes as S, TokenRefreshNeeded as T, CacheService as a, PersApiError as b, ApiErrorDetector as c, globalCacheService as g, isTokenExpired as i };
|
|
564
|
-
//# sourceMappingURL=index
|
|
589
|
+
export { AuthenticationError as A, CacheTTL as C, ErrorUtils as E, LogoutRequired as L, NetworkError as N, ProviderTokenRefreshNeeded as P, SdkErrorCodes as S, TokenRefreshNeeded as T, CacheService as a, PersApiError as b, ApiErrorDetector as c, decodeJwtPayload as d, getTokenTimeToLive as e, globalCacheService as g, isTokenExpired as i };
|
|
590
|
+
//# sourceMappingURL=index--OssIds0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index--OssIds0.js","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/core/cache/cache.service.ts","../../src/core/cache/index.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -7,26 +7,49 @@ var persShared = require('@explorins/pers-shared');
|
|
|
7
7
|
* Native implementation without external dependencies for optimal performance
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Decode JWT payload without verification
|
|
11
11
|
* @param token JWT token (with or without Bearer prefix)
|
|
12
|
-
* @
|
|
12
|
+
* @returns Decoded payload or null if invalid
|
|
13
13
|
*/
|
|
14
|
-
const
|
|
14
|
+
const decodeJwtPayload = (token) => {
|
|
15
15
|
const cleanToken = token.replace(/^Bearer\s+/i, '');
|
|
16
16
|
if (!cleanToken || cleanToken.split('.').length !== 3) {
|
|
17
|
-
return
|
|
17
|
+
return null;
|
|
18
18
|
}
|
|
19
19
|
try {
|
|
20
|
-
|
|
21
|
-
if (!payload.exp)
|
|
22
|
-
return false;
|
|
23
|
-
const currentTime = Math.floor(Date.now() / 1000);
|
|
24
|
-
return payload.exp < (currentTime + margin);
|
|
20
|
+
return JSON.parse(atob(cleanToken.split('.')[1]));
|
|
25
21
|
}
|
|
26
22
|
catch {
|
|
27
|
-
return
|
|
23
|
+
return null;
|
|
28
24
|
}
|
|
29
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Check if JWT token is expired or expiring within margin
|
|
28
|
+
* @param token JWT token (with or without Bearer prefix)
|
|
29
|
+
* @param margin Safety margin in seconds before expiry (default: 60)
|
|
30
|
+
*/
|
|
31
|
+
const isTokenExpired = (token, margin = 60) => {
|
|
32
|
+
const payload = decodeJwtPayload(token);
|
|
33
|
+
if (!payload)
|
|
34
|
+
return true;
|
|
35
|
+
if (!payload.exp)
|
|
36
|
+
return false;
|
|
37
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
38
|
+
return payload.exp < (currentTime + margin);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Get remaining time-to-live for a JWT token in seconds
|
|
42
|
+
* @param token JWT token (with or without Bearer prefix)
|
|
43
|
+
* @returns Remaining TTL in seconds, or null if invalid/expired
|
|
44
|
+
*/
|
|
45
|
+
const getTokenTimeToLive = (token) => {
|
|
46
|
+
const payload = decodeJwtPayload(token);
|
|
47
|
+
if (!payload?.exp)
|
|
48
|
+
return null;
|
|
49
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
50
|
+
const ttl = payload.exp - currentTime;
|
|
51
|
+
return ttl > 0 ? ttl : null;
|
|
52
|
+
};
|
|
30
53
|
|
|
31
54
|
/**
|
|
32
55
|
* PERS SDK Error Handling - Optimized for Performance
|
|
@@ -55,12 +78,12 @@ class ErrorUtils {
|
|
|
55
78
|
return false;
|
|
56
79
|
const err = error;
|
|
57
80
|
// Check for explicit token expired indicators
|
|
58
|
-
if (err?.code ===
|
|
81
|
+
if (err?.code === persShared.CommonErrorCodes.TOKEN_EXPIRED || err?.errorCode === persShared.CommonErrorCodes.TOKEN_EXPIRED) {
|
|
59
82
|
return true;
|
|
60
83
|
}
|
|
61
84
|
// Check in response data
|
|
62
85
|
const apiError = err?.response?.data || err;
|
|
63
|
-
if (apiError?.code ===
|
|
86
|
+
if (apiError?.code === persShared.CommonErrorCodes.TOKEN_EXPIRED || apiError?.errorCode === persShared.CommonErrorCodes.TOKEN_EXPIRED) {
|
|
64
87
|
return true;
|
|
65
88
|
}
|
|
66
89
|
// Any 401 error is treated as token expiration
|
|
@@ -130,7 +153,9 @@ class ErrorUtils {
|
|
|
130
153
|
// Try extraction strategies in priority order
|
|
131
154
|
const candidates = [
|
|
132
155
|
this.parseHttpClientError(error), // React Native format
|
|
133
|
-
httpError.response
|
|
156
|
+
httpError.response && typeof httpError.response === 'object'
|
|
157
|
+
? httpError.response.data
|
|
158
|
+
: undefined, // Axios/fetch format
|
|
134
159
|
httpError.error, // Angular HttpErrorResponse
|
|
135
160
|
httpError // Direct error object
|
|
136
161
|
];
|
|
@@ -149,8 +174,9 @@ class ErrorUtils {
|
|
|
149
174
|
* Check if object has structured error fields from backend (StructuredError)
|
|
150
175
|
*/
|
|
151
176
|
static hasStructuredErrorFields(obj) {
|
|
152
|
-
return obj && typeof obj === 'object' &&
|
|
153
|
-
((
|
|
177
|
+
return obj !== null && typeof obj === 'object' &&
|
|
178
|
+
(('code' in obj && 'category' in obj) ||
|
|
179
|
+
('status' in obj && ('detail' in obj || 'message' in obj || 'title' in obj)));
|
|
154
180
|
}
|
|
155
181
|
/**
|
|
156
182
|
* Create fallback error structure when no structured error found
|
|
@@ -161,9 +187,9 @@ class ErrorUtils {
|
|
|
161
187
|
title: 'Request failed',
|
|
162
188
|
message: this.getMessage(error),
|
|
163
189
|
detail: this.getMessage(error),
|
|
164
|
-
code:
|
|
190
|
+
code: persShared.CommonErrorCodes.TECHNICAL_ERROR,
|
|
165
191
|
category: persShared.ErrorCategory.TECHNICAL,
|
|
166
|
-
domain:
|
|
192
|
+
domain: persShared.ErrorDomains.EXTERNAL,
|
|
167
193
|
retryable: this.isRetryable(error)
|
|
168
194
|
};
|
|
169
195
|
}
|
|
@@ -242,7 +268,7 @@ class PersApiError extends Error {
|
|
|
242
268
|
this.method = method;
|
|
243
269
|
this.name = 'PersApiError';
|
|
244
270
|
// Use backend error details directly
|
|
245
|
-
this.code = backendError?.code ||
|
|
271
|
+
this.code = backendError?.code || persShared.CommonErrorCodes.TECHNICAL_ERROR;
|
|
246
272
|
this.domain = backendError?.domain || persShared.ErrorDomains.EXTERNAL;
|
|
247
273
|
this.category = backendError?.category || persShared.ErrorCategory.TECHNICAL;
|
|
248
274
|
this.retryable = backendError?.retryable ?? (statusCode ? statusCode >= 500 : false);
|
|
@@ -266,7 +292,7 @@ class AuthenticationError extends PersApiError {
|
|
|
266
292
|
class NetworkError extends Error {
|
|
267
293
|
constructor(message) {
|
|
268
294
|
super(message);
|
|
269
|
-
this.code =
|
|
295
|
+
this.code = persShared.CommonErrorCodes.EXTERNAL_SERVICE_ERROR;
|
|
270
296
|
this.domain = persShared.ErrorDomains.EXTERNAL;
|
|
271
297
|
this.category = persShared.ErrorCategory.INFRASTRUCTURE;
|
|
272
298
|
this.retryable = true;
|
|
@@ -573,6 +599,8 @@ exports.PersApiError = PersApiError;
|
|
|
573
599
|
exports.ProviderTokenRefreshNeeded = ProviderTokenRefreshNeeded;
|
|
574
600
|
exports.SdkErrorCodes = SdkErrorCodes;
|
|
575
601
|
exports.TokenRefreshNeeded = TokenRefreshNeeded;
|
|
602
|
+
exports.decodeJwtPayload = decodeJwtPayload;
|
|
603
|
+
exports.getTokenTimeToLive = getTokenTimeToLive;
|
|
576
604
|
exports.globalCacheService = globalCacheService;
|
|
577
605
|
exports.isTokenExpired = isTokenExpired;
|
|
578
|
-
//# sourceMappingURL=index-
|
|
606
|
+
//# sourceMappingURL=index-C4K-jkRO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C4K-jkRO.cjs","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/core/cache/cache.service.ts","../../src/core/cache/index.ts"],"sourcesContent":[null,null,null,null],"names":["CommonErrorCodes","ErrorCategory","ErrorDomains","Domains"],"mappings":"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"}
|