@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.
Files changed (124) hide show
  1. package/README.md +7 -0
  2. package/dist/analytics/api/analytics-api.d.ts +42 -1
  3. package/dist/analytics/api/analytics-api.d.ts.map +1 -1
  4. package/dist/analytics/models/index.d.ts +2 -2
  5. package/dist/analytics/models/index.d.ts.map +1 -1
  6. package/dist/analytics/services/analytics-service.d.ts +8 -1
  7. package/dist/analytics/services/analytics-service.d.ts.map +1 -1
  8. package/dist/analytics.cjs +1 -1
  9. package/dist/analytics.js +1 -1
  10. package/dist/business/api/business-api.d.ts +6 -3
  11. package/dist/business/api/business-api.d.ts.map +1 -1
  12. package/dist/business/services/business-service.d.ts +2 -2
  13. package/dist/business/services/business-service.d.ts.map +1 -1
  14. package/dist/business.cjs +1 -1
  15. package/dist/business.js +1 -1
  16. package/dist/chunks/{analytics-service-vm7B7LhS.js → analytics-service-CF7hSwhy.js} +53 -1
  17. package/dist/chunks/analytics-service-CF7hSwhy.js.map +1 -0
  18. package/dist/chunks/{analytics-service-CF9AsMQH.cjs → analytics-service-CRs9cpkg.cjs} +53 -1
  19. package/dist/chunks/analytics-service-CRs9cpkg.cjs.map +1 -0
  20. package/dist/chunks/{base-token-service-BiSXWqOy.js → base-token-service-BGuuZX4b.js} +2 -2
  21. package/dist/chunks/{base-token-service-BiSXWqOy.js.map → base-token-service-BGuuZX4b.js.map} +1 -1
  22. package/dist/chunks/{base-token-service-CReAW_nz.cjs → base-token-service-DSye0WD2.cjs} +2 -2
  23. package/dist/chunks/{base-token-service-CReAW_nz.cjs.map → base-token-service-DSye0WD2.cjs.map} +1 -1
  24. package/dist/chunks/{business-membership-service-DXLG5fP9.cjs → business-membership-service-B9ItWZ2_.cjs} +18 -16
  25. package/dist/chunks/business-membership-service-B9ItWZ2_.cjs.map +1 -0
  26. package/dist/chunks/{business-membership-service-IyY5CkL0.js → business-membership-service-CPcE-AW0.js} +18 -16
  27. package/dist/chunks/business-membership-service-CPcE-AW0.js.map +1 -0
  28. package/dist/chunks/{index-8y63MFOX.js → index--OssIds0.js} +48 -22
  29. package/dist/chunks/index--OssIds0.js.map +1 -0
  30. package/dist/chunks/{index-CVuttuU8.cjs → index-C4K-jkRO.cjs} +48 -20
  31. package/dist/chunks/index-C4K-jkRO.cjs.map +1 -0
  32. package/dist/chunks/{pers-sdk-DAllRtm3.js → pers-sdk-Dds2lB27.js} +560 -51
  33. package/dist/chunks/pers-sdk-Dds2lB27.js.map +1 -0
  34. package/dist/chunks/{pers-sdk-CEAAI2U0.cjs → pers-sdk-DemghJ3a.cjs} +561 -50
  35. package/dist/chunks/pers-sdk-DemghJ3a.cjs.map +1 -0
  36. package/dist/chunks/{redemption-service-czBfCP-3.js → redemption-service-DWhZgrZT.js} +9 -1
  37. package/dist/chunks/{redemption-service-czBfCP-3.js.map → redemption-service-DWhZgrZT.js.map} +1 -1
  38. package/dist/chunks/{redemption-service-CVD2PzBO.cjs → redemption-service-Dc_0Kzd0.cjs} +9 -1
  39. package/dist/chunks/{redemption-service-CVD2PzBO.cjs.map → redemption-service-Dc_0Kzd0.cjs.map} +1 -1
  40. package/dist/chunks/{tenant-manager-BdJYwIgL.cjs → tenant-manager-DR5eSEJw.cjs} +2 -2
  41. package/dist/chunks/{tenant-manager-BdJYwIgL.cjs.map → tenant-manager-DR5eSEJw.cjs.map} +1 -1
  42. package/dist/chunks/{tenant-manager-D9ihQLhf.js → tenant-manager-xmYKBFGu.js} +2 -2
  43. package/dist/chunks/{tenant-manager-D9ihQLhf.js.map → tenant-manager-xmYKBFGu.js.map} +1 -1
  44. package/dist/chunks/{token-service-C1xe11OX.cjs → token-service-BJqu5Xap.cjs} +88 -2
  45. package/dist/chunks/token-service-BJqu5Xap.cjs.map +1 -0
  46. package/dist/chunks/{token-service-BxEO5YVN.js → token-service-qRSYG9uT.js} +88 -2
  47. package/dist/chunks/token-service-qRSYG9uT.js.map +1 -0
  48. package/dist/chunks/{web3-chain-service-DRoykR1u.js → web3-chain-service-BWRmwmmJ.js} +2 -2
  49. package/dist/chunks/{web3-chain-service-DRoykR1u.js.map → web3-chain-service-BWRmwmmJ.js.map} +1 -1
  50. package/dist/chunks/{web3-chain-service-CSxlvjMg.cjs → web3-chain-service-D6tBL0F7.cjs} +2 -2
  51. package/dist/chunks/{web3-chain-service-CSxlvjMg.cjs.map → web3-chain-service-D6tBL0F7.cjs.map} +1 -1
  52. package/dist/chunks/{web3-manager-DKHJrBYE.cjs → web3-manager-C-JflQ86.cjs} +4 -4
  53. package/dist/chunks/{web3-manager-DKHJrBYE.cjs.map → web3-manager-C-JflQ86.cjs.map} +1 -1
  54. package/dist/chunks/{web3-manager-NMLZ3pu7.js → web3-manager-Dvcq4xmn.js} +4 -4
  55. package/dist/chunks/{web3-manager-NMLZ3pu7.js.map → web3-manager-Dvcq4xmn.js.map} +1 -1
  56. package/dist/core/auth/default-auth-provider.d.ts +31 -0
  57. package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
  58. package/dist/core/auth/dpop/dpop-manager.d.ts +11 -0
  59. package/dist/core/auth/dpop/dpop-manager.d.ts.map +1 -1
  60. package/dist/core/auth/indexed-db-storage.d.ts.map +1 -1
  61. package/dist/core/auth/refresh-manager.d.ts +34 -2
  62. package/dist/core/auth/refresh-manager.d.ts.map +1 -1
  63. package/dist/core/auth/services/auth-service.d.ts +58 -2
  64. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  65. package/dist/core/auth/token-storage.d.ts +6 -0
  66. package/dist/core/auth/token-storage.d.ts.map +1 -1
  67. package/dist/core/errors/index.d.ts +6 -6
  68. package/dist/core/errors/index.d.ts.map +1 -1
  69. package/dist/core/events/event-types.d.ts +5 -1
  70. package/dist/core/events/event-types.d.ts.map +1 -1
  71. package/dist/core/pers-api-client.d.ts.map +1 -1
  72. package/dist/core/utils/jwt.function.d.ts +14 -0
  73. package/dist/core/utils/jwt.function.d.ts.map +1 -1
  74. package/dist/core.cjs +9 -7
  75. package/dist/core.cjs.map +1 -1
  76. package/dist/core.js +7 -7
  77. package/dist/index.cjs +10 -8
  78. package/dist/index.cjs.map +1 -1
  79. package/dist/index.d.ts +1 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +8 -8
  82. package/dist/managers/analytics-manager.d.ts +48 -1
  83. package/dist/managers/analytics-manager.d.ts.map +1 -1
  84. package/dist/managers/redemption-manager.d.ts +45 -1
  85. package/dist/managers/redemption-manager.d.ts.map +1 -1
  86. package/dist/managers/token-manager.d.ts +97 -2
  87. package/dist/managers/token-manager.d.ts.map +1 -1
  88. package/dist/node.cjs +7 -7
  89. package/dist/node.js +7 -7
  90. package/dist/package.json +4 -2
  91. package/dist/redemption/services/redemption-service.d.ts +6 -0
  92. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  93. package/dist/redemption.cjs +1 -1
  94. package/dist/redemption.js +1 -1
  95. package/dist/token/api/token-api.d.ts +41 -1
  96. package/dist/token/api/token-api.d.ts.map +1 -1
  97. package/dist/token/index.d.ts +1 -1
  98. package/dist/token/index.d.ts.map +1 -1
  99. package/dist/token/services/token-service.d.ts +30 -1
  100. package/dist/token/services/token-service.d.ts.map +1 -1
  101. package/dist/token.cjs +2 -2
  102. package/dist/token.js +2 -2
  103. package/dist/user/api/user-api.d.ts.map +1 -1
  104. package/dist/user.cjs +6 -11
  105. package/dist/user.cjs.map +1 -1
  106. package/dist/user.js +6 -11
  107. package/dist/user.js.map +1 -1
  108. package/dist/web3-chain.cjs +2 -2
  109. package/dist/web3-chain.js +2 -2
  110. package/dist/web3-manager.cjs +4 -4
  111. package/dist/web3-manager.js +4 -4
  112. package/dist/web3.cjs +4 -4
  113. package/dist/web3.js +4 -4
  114. package/package.json +4 -2
  115. package/dist/chunks/analytics-service-CF9AsMQH.cjs.map +0 -1
  116. package/dist/chunks/analytics-service-vm7B7LhS.js.map +0 -1
  117. package/dist/chunks/business-membership-service-DXLG5fP9.cjs.map +0 -1
  118. package/dist/chunks/business-membership-service-IyY5CkL0.js.map +0 -1
  119. package/dist/chunks/index-8y63MFOX.js.map +0 -1
  120. package/dist/chunks/index-CVuttuU8.cjs.map +0 -1
  121. package/dist/chunks/pers-sdk-CEAAI2U0.cjs.map +0 -1
  122. package/dist/chunks/pers-sdk-DAllRtm3.js.map +0 -1
  123. package/dist/chunks/token-service-BxEO5YVN.js.map +0 -1
  124. 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({ tag: 'restaurant' });
100
- * const multiTag = await businessApi.getBusinesses({ tag: ['restaurant', 'cafe'] });
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 (client-side filtering)
467
- * @deprecated Consider implementing server-side filtering for better performance
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 response = await this.getActiveBusinesses(options);
471
- const filtered = response.data.filter((business) => business.businessType && business.businessType.id === parseInt(typeId));
472
- return {
473
- data: filtered,
474
- pagination: {
475
- ...response.pagination,
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-IyY5CkL0.js.map
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, ErrorDomains } from '@explorins/pers-shared';
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
- * Check if JWT token is expired or expiring within margin
8
+ * Decode JWT payload without verification
9
9
  * @param token JWT token (with or without Bearer prefix)
10
- * @param margin Safety margin in seconds before expiry (default: 60)
10
+ * @returns Decoded payload or null if invalid
11
11
  */
12
- const isTokenExpired = (token, margin = 60) => {
12
+ const decodeJwtPayload = (token) => {
13
13
  const cleanToken = token.replace(/^Bearer\s+/i, '');
14
14
  if (!cleanToken || cleanToken.split('.').length !== 3) {
15
- return true;
15
+ return null;
16
16
  }
17
17
  try {
18
- const payload = JSON.parse(atob(cleanToken.split('.')[1]));
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 true;
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 === 'TOKEN_EXPIRED' || err?.errorCode === 'TOKEN_EXPIRED') {
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 === 'TOKEN_EXPIRED' || apiError?.errorCode === 'TOKEN_EXPIRED') {
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?.data, // Axios/fetch format
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
- ((obj.code && obj.category) || (obj.status && (obj.detail || obj.message || obj.title)));
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: 'REQUEST_FAILED',
188
+ code: CommonErrorCodes.TECHNICAL_ERROR,
163
189
  category: ErrorCategory.TECHNICAL,
164
- domain: 'api',
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 || 'API_ERROR';
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 = SdkErrorCodes.NETWORK_ERROR;
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-8y63MFOX.js.map
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
- * Check if JWT token is expired or expiring within margin
10
+ * Decode JWT payload without verification
11
11
  * @param token JWT token (with or without Bearer prefix)
12
- * @param margin Safety margin in seconds before expiry (default: 60)
12
+ * @returns Decoded payload or null if invalid
13
13
  */
14
- const isTokenExpired = (token, margin = 60) => {
14
+ const decodeJwtPayload = (token) => {
15
15
  const cleanToken = token.replace(/^Bearer\s+/i, '');
16
16
  if (!cleanToken || cleanToken.split('.').length !== 3) {
17
- return true;
17
+ return null;
18
18
  }
19
19
  try {
20
- const payload = JSON.parse(atob(cleanToken.split('.')[1]));
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 true;
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 === 'TOKEN_EXPIRED' || err?.errorCode === 'TOKEN_EXPIRED') {
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 === 'TOKEN_EXPIRED' || apiError?.errorCode === 'TOKEN_EXPIRED') {
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?.data, // Axios/fetch format
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
- ((obj.code && obj.category) || (obj.status && (obj.detail || obj.message || obj.title)));
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: 'REQUEST_FAILED',
190
+ code: persShared.CommonErrorCodes.TECHNICAL_ERROR,
165
191
  category: persShared.ErrorCategory.TECHNICAL,
166
- domain: 'api',
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 || 'API_ERROR';
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 = SdkErrorCodes.NETWORK_ERROR;
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-CVuttuU8.cjs.map
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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"}