@oxyhq/services 5.16.22 → 5.16.24

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 (73) hide show
  1. package/lib/commonjs/core/HttpService.js +15 -79
  2. package/lib/commonjs/core/HttpService.js.map +1 -1
  3. package/lib/commonjs/core/OxyServices.base.js +3 -11
  4. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  5. package/lib/commonjs/core/services/SessionService.js +163 -0
  6. package/lib/commonjs/core/services/SessionService.js.map +1 -0
  7. package/lib/commonjs/core/services/TokenService.js +206 -0
  8. package/lib/commonjs/core/services/TokenService.js.map +1 -0
  9. package/lib/commonjs/models/interfaces.js +15 -0
  10. package/lib/commonjs/models/interfaces.js.map +1 -1
  11. package/lib/commonjs/ui/context/OxyContext.js +100 -22
  12. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  13. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -3
  14. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  15. package/lib/commonjs/ui/hooks/useSessionSocket.js +228 -57
  16. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  17. package/lib/module/core/HttpService.js +15 -79
  18. package/lib/module/core/HttpService.js.map +1 -1
  19. package/lib/module/core/OxyServices.base.js +4 -11
  20. package/lib/module/core/OxyServices.base.js.map +1 -1
  21. package/lib/module/core/services/SessionService.js +159 -0
  22. package/lib/module/core/services/SessionService.js.map +1 -0
  23. package/lib/module/core/services/TokenService.js +203 -0
  24. package/lib/module/core/services/TokenService.js.map +1 -0
  25. package/lib/module/models/interfaces.js +15 -0
  26. package/lib/module/models/interfaces.js.map +1 -1
  27. package/lib/module/ui/context/OxyContext.js +100 -22
  28. package/lib/module/ui/context/OxyContext.js.map +1 -1
  29. package/lib/module/ui/context/hooks/useAuthOperations.js +11 -3
  30. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  31. package/lib/module/ui/hooks/useSessionSocket.js +228 -57
  32. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  33. package/lib/typescript/core/HttpService.d.ts +1 -1
  34. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  35. package/lib/typescript/core/OxyServices.base.d.ts +6 -0
  36. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  37. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  38. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  39. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  40. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  41. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  42. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  43. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  44. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  45. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  46. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  47. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  48. package/lib/typescript/core/mixins/OxyServices.user.d.ts +1 -3
  49. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  50. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  51. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  52. package/lib/typescript/core/services/SessionService.d.ts +78 -0
  53. package/lib/typescript/core/services/SessionService.d.ts.map +1 -0
  54. package/lib/typescript/core/services/TokenService.d.ts +72 -0
  55. package/lib/typescript/core/services/TokenService.d.ts.map +1 -0
  56. package/lib/typescript/models/interfaces.d.ts +14 -0
  57. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  58. package/lib/typescript/models/session.d.ts +7 -0
  59. package/lib/typescript/models/session.d.ts.map +1 -1
  60. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  61. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  62. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +8 -1
  63. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/src/core/HttpService.ts +15 -95
  66. package/src/core/OxyServices.base.ts +3 -20
  67. package/src/core/services/SessionService.ts +173 -0
  68. package/src/core/services/TokenService.ts +226 -0
  69. package/src/models/interfaces.ts +16 -2
  70. package/src/models/session.ts +8 -1
  71. package/src/ui/context/OxyContext.tsx +105 -23
  72. package/src/ui/context/hooks/useAuthOperations.ts +11 -3
  73. package/src/ui/hooks/useSessionSocket.ts +229 -55
@@ -8,7 +8,7 @@ var _cache = require("../utils/cache");
8
8
  var _requestUtils = require("../utils/requestUtils");
9
9
  var _asyncUtils = require("../utils/asyncUtils");
10
10
  var _errorUtils = require("../utils/errorUtils");
11
- var _jwtDecode = require("jwt-decode");
11
+ var _TokenService = require("./services/TokenService");
12
12
  /**
13
13
  * Unified HTTP Service
14
14
  *
@@ -24,37 +24,7 @@ var _jwtDecode = require("jwt-decode");
24
24
  * - Request queuing
25
25
  */
26
26
 
27
- /**
28
- * Token store for authentication (singleton)
29
- */
30
- class TokenStore {
31
- accessToken = null;
32
- refreshToken = null;
33
- constructor() {}
34
- static getInstance() {
35
- if (!TokenStore.instance) {
36
- TokenStore.instance = new TokenStore();
37
- }
38
- return TokenStore.instance;
39
- }
40
- setTokens(accessToken, refreshToken = '') {
41
- this.accessToken = accessToken;
42
- this.refreshToken = refreshToken;
43
- }
44
- getAccessToken() {
45
- return this.accessToken;
46
- }
47
- getRefreshToken() {
48
- return this.refreshToken;
49
- }
50
- clearTokens() {
51
- this.accessToken = null;
52
- this.refreshToken = null;
53
- }
54
- hasAccessToken() {
55
- return !!this.accessToken;
56
- }
57
- }
27
+ // Token management moved to TokenService - import it instead
58
28
 
59
29
  /**
60
30
  * Unified HTTP Service
@@ -75,7 +45,9 @@ class HttpService {
75
45
  constructor(config) {
76
46
  this.config = config;
77
47
  this.baseURL = config.baseURL;
78
- this.tokenStore = TokenStore.getInstance();
48
+
49
+ // Initialize TokenService with baseURL
50
+ _TokenService.tokenService.initialize(this.baseURL);
79
51
  this.logger = new _requestUtils.SimpleLogger(config.enableLogging || false, config.logLevel || 'error', 'HttpService');
80
52
 
81
53
  // Initialize performance infrastructure
@@ -205,7 +177,7 @@ class HttpService {
205
177
  // Handle response
206
178
  if (!response.ok) {
207
179
  if (response.status === 401) {
208
- this.tokenStore.clearTokens();
180
+ _TokenService.tokenService.clearTokens();
209
181
  }
210
182
 
211
183
  // Try to parse error response (handle empty/malformed JSON)
@@ -343,46 +315,10 @@ class HttpService {
343
315
 
344
316
  /**
345
317
  * Get auth header with automatic token refresh
318
+ * Uses TokenService for all token operations
346
319
  */
347
320
  async getAuthHeader() {
348
- const accessToken = this.tokenStore.getAccessToken();
349
- if (!accessToken) {
350
- return null;
351
- }
352
- try {
353
- const decoded = (0, _jwtDecode.jwtDecode)(accessToken);
354
- const currentTime = Math.floor(Date.now() / 1000);
355
-
356
- // If token expires in less than 60 seconds, refresh it
357
- if (decoded.exp && decoded.exp - currentTime < 60 && decoded.sessionId) {
358
- try {
359
- const refreshUrl = `${this.baseURL}/api/session/token/${decoded.sessionId}`;
360
-
361
- // Use AbortSignal.timeout for consistent timeout handling
362
- const response = await fetch(refreshUrl, {
363
- method: 'GET',
364
- headers: {
365
- 'Accept': 'application/json'
366
- },
367
- signal: AbortSignal.timeout(5000)
368
- });
369
- if (response.ok) {
370
- const {
371
- accessToken: newToken
372
- } = await response.json();
373
- this.tokenStore.setTokens(newToken);
374
- this.logger.debug('Token refreshed');
375
- return `Bearer ${newToken}`;
376
- }
377
- } catch (refreshError) {
378
- this.logger.warn('Token refresh failed, using current token');
379
- }
380
- }
381
- return `Bearer ${accessToken}`;
382
- } catch (error) {
383
- this.logger.error('Error processing token:', error);
384
- return `Bearer ${accessToken}`;
385
- }
321
+ return await _TokenService.tokenService.getAuthHeader();
386
322
  }
387
323
 
388
324
  /**
@@ -517,18 +453,18 @@ class HttpService {
517
453
  };
518
454
  }
519
455
 
520
- // Token management
456
+ // Token management - delegates to TokenService
521
457
  setTokens(accessToken, refreshToken = '') {
522
- this.tokenStore.setTokens(accessToken, refreshToken);
458
+ _TokenService.tokenService.setTokens(accessToken, refreshToken);
523
459
  }
524
460
  clearTokens() {
525
- this.tokenStore.clearTokens();
461
+ _TokenService.tokenService.clearTokens();
526
462
  }
527
463
  getAccessToken() {
528
- return this.tokenStore.getAccessToken();
464
+ return _TokenService.tokenService.getAccessToken();
529
465
  }
530
466
  hasAccessToken() {
531
- return this.tokenStore.hasAccessToken();
467
+ return _TokenService.tokenService.hasAccessToken();
532
468
  }
533
469
  getBaseURL() {
534
470
  return this.baseURL;
@@ -560,10 +496,10 @@ class HttpService {
560
496
  // Test-only utility
561
497
  static __resetTokensForTests() {
562
498
  try {
563
- TokenStore.getInstance().clearTokens();
499
+ _TokenService.tokenService.clearTokens();
564
500
  } catch (error) {
565
501
  // Silently fail in test cleanup - this is expected behavior
566
- // TokenStore might not be initialized in some test scenarios
502
+ // TokenService might not be initialized in some test scenarios
567
503
  }
568
504
  }
569
505
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_jwtDecode","TokenStore","accessToken","refreshToken","constructor","getInstance","instance","setTokens","getAccessToken","getRefreshToken","clearTokens","hasAccessToken","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","config","baseURL","tokenStore","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","errorMessage","statusText","contentType","includes","errorData","json","message","parseError","warn","error","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","decoded","jwtDecode","currentTime","Math","floor","exp","sessionId","refreshUrl","AbortSignal","newToken","refreshError","Array","isArray","success","alpha","post","put","patch","delete","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_TokenService","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","constructor","config","baseURL","tokenService","initialize","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","clearTokens","errorMessage","statusText","contentType","includes","errorData","json","message","parseError","warn","error","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","Array","isArray","success","alpha","post","put","patch","delete","setTokens","accessToken","refreshToken","getAccessToken","hasAccessToken","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.OxyServicesBase = void 0;
7
- var _jwtDecode = require("jwt-decode");
8
7
  var _errorUtils = require("../utils/errorUtils");
9
8
  var _HttpService = require("./HttpService");
10
9
  var _OxyServices = require("./OxyServices.errors");
10
+ var _TokenService = require("./services/TokenService");
11
11
  /**
12
12
  * OxyServices Base Class
13
13
  *
@@ -119,18 +119,10 @@ class OxyServicesBase {
119
119
 
120
120
  /**
121
121
  * Get the current user ID from the access token
122
+ * Returns MongoDB ObjectId (never publicKey)
122
123
  */
123
124
  getCurrentUserId() {
124
- const accessToken = this.httpService.getAccessToken();
125
- if (!accessToken) {
126
- return null;
127
- }
128
- try {
129
- const decoded = (0, _jwtDecode.jwtDecode)(accessToken);
130
- return decoded.userId || decoded.id || null;
131
- } catch (error) {
132
- return null;
133
- }
125
+ return _TokenService.tokenService.getUserIdFromToken();
134
126
  }
135
127
 
136
128
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_jwtDecode","require","_errorUtils","_HttpService","_OxyServices","OxyServicesBase","constructor","args","config","Error","cloudURL","httpService","HttpService","__resetTokensForTests","makeRequest","method","url","data","options","request","undefined","params","getBaseURL","getClient","getMetrics","clearCache","clearCacheEntry","key","getCacheStats","getCloudURL","setTokens","accessToken","refreshToken","clearTokens","getCurrentUserId","getAccessToken","decoded","jwtDecode","userId","id","error","hasValidToken","hasAccessToken","waitForAuth","timeoutMs","startTime","performance","now","maxTime","pollInterval","Promise","resolve","setTimeout","Math","min","withAuthRetry","operation","operationName","maxRetries","retryDelay","authTimeoutMs","attempt","authReady","OxyAuthenticationTimeoutError","OxyAuthenticationError","isLastAttempt","errorObj","isAuthError","response","status","code","message","includes","handleError","validate","res","cache","retry","valid","api","handleHttpError","trim","err","details","healthCheck","timeout","exports"],"sourceRoot":"../../../src","sources":["core/OxyServices.base.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_errorUtils","require","_HttpService","_OxyServices","_TokenService","OxyServicesBase","constructor","args","config","Error","cloudURL","httpService","HttpService","__resetTokensForTests","makeRequest","method","url","data","options","request","undefined","params","getBaseURL","getClient","getMetrics","clearCache","clearCacheEntry","key","getCacheStats","getCloudURL","setTokens","accessToken","refreshToken","clearTokens","getCurrentUserId","tokenService","getUserIdFromToken","hasValidToken","hasAccessToken","getAccessToken","waitForAuth","timeoutMs","startTime","performance","now","maxTime","pollInterval","Promise","resolve","setTimeout","Math","min","withAuthRetry","operation","operationName","maxRetries","retryDelay","authTimeoutMs","attempt","authReady","OxyAuthenticationTimeoutError","OxyAuthenticationError","error","isLastAttempt","errorObj","isAuthError","response","status","code","message","includes","handleError","validate","res","cache","retry","valid","api","handleHttpError","trim","err","details","healthCheck","timeout","exports"],"sourceRoot":"../../../src","sources":["core/OxyServices.base.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sessionService = void 0;
7
+ var _TokenService = require("./TokenService");
8
+ /**
9
+ * SessionService - Single Source of Truth for Session Management
10
+ *
11
+ * Handles all session operations: creation, validation, refresh, invalidation.
12
+ * Manages active session state and provides session data to other services.
13
+ *
14
+ * Architecture:
15
+ * - Single source of truth for session operations
16
+ * - Handles both online and offline sessions
17
+ * - Integrates with TokenService for token management
18
+ * - userId is always MongoDB ObjectId, never publicKey
19
+ */
20
+
21
+ /**
22
+ * SessionService - Singleton pattern for global session management
23
+ */
24
+ class SessionService {
25
+ oxyServices = null;
26
+ activeSession = null;
27
+ sessions = [];
28
+ constructor() {}
29
+ static getInstance() {
30
+ if (!SessionService.instance) {
31
+ SessionService.instance = new SessionService();
32
+ }
33
+ return SessionService.instance;
34
+ }
35
+
36
+ /**
37
+ * Initialize SessionService with OxyServices instance
38
+ */
39
+ initialize(oxyServices) {
40
+ this.oxyServices = oxyServices;
41
+ }
42
+
43
+ /**
44
+ * Get active session
45
+ */
46
+ getActiveSession() {
47
+ return this.activeSession;
48
+ }
49
+
50
+ /**
51
+ * Get all sessions
52
+ */
53
+ getAllSessions() {
54
+ return [...this.sessions];
55
+ }
56
+
57
+ /**
58
+ * Create a new session (sign in)
59
+ * @param publicKey - User's public key for authentication
60
+ * @returns User object and session data
61
+ */
62
+ async createSession(publicKey) {
63
+ if (!this.oxyServices) {
64
+ throw new Error('SessionService not initialized with OxyServices');
65
+ }
66
+
67
+ // This will be implemented by delegating to existing sign-in logic
68
+ // For now, this is a placeholder that shows the interface
69
+ throw new Error('SessionService.createSession not yet implemented - use existing signIn flow');
70
+ }
71
+
72
+ /**
73
+ * Refresh current session
74
+ */
75
+ async refreshSession() {
76
+ if (!this.activeSession) {
77
+ throw new Error('No active session to refresh');
78
+ }
79
+
80
+ // Refresh token first
81
+ await _TokenService.tokenService.refreshTokenIfNeeded();
82
+
83
+ // Then refresh session data from server
84
+ // Implementation will be added
85
+ return this.activeSession;
86
+ }
87
+
88
+ /**
89
+ * Validate current session
90
+ */
91
+ async validateSession() {
92
+ if (!this.activeSession) {
93
+ return false;
94
+ }
95
+
96
+ // Check if session expired
97
+ if (new Date(this.activeSession.expiresAt) < new Date()) {
98
+ return false;
99
+ }
100
+
101
+ // Check if token is valid
102
+ const token = _TokenService.tokenService.getAccessToken();
103
+ if (!token) {
104
+ return false;
105
+ }
106
+
107
+ // Additional validation can be added here
108
+ return true;
109
+ }
110
+
111
+ /**
112
+ * Invalidate current session (sign out)
113
+ */
114
+ async invalidateSession() {
115
+ if (!this.activeSession || !this.oxyServices) {
116
+ return;
117
+ }
118
+ try {
119
+ // Call API to invalidate session on server
120
+ await this.oxyServices.makeRequest('POST', `/api/session/${this.activeSession.sessionId}/logout`, undefined, {
121
+ cache: false
122
+ });
123
+ } catch (error) {
124
+ // Continue with local cleanup even if API call fails
125
+ console.warn('Failed to invalidate session on server:', error);
126
+ }
127
+
128
+ // Clear tokens
129
+ _TokenService.tokenService.clearTokens();
130
+
131
+ // Clear active session
132
+ this.activeSession = null;
133
+ this.sessions = this.sessions.filter(s => s.sessionId !== this.activeSession?.sessionId);
134
+ }
135
+
136
+ /**
137
+ * Set active session (internal use)
138
+ */
139
+ setActiveSession(session) {
140
+ this.activeSession = session;
141
+
142
+ // Update sessions list
143
+ const existingIndex = this.sessions.findIndex(s => s.sessionId === session.sessionId);
144
+ if (existingIndex >= 0) {
145
+ this.sessions[existingIndex] = session;
146
+ } else {
147
+ this.sessions.push(session);
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Clear all sessions (logout all)
153
+ */
154
+ clearAllSessions() {
155
+ this.activeSession = null;
156
+ this.sessions = [];
157
+ _TokenService.tokenService.clearTokens();
158
+ }
159
+ }
160
+
161
+ // Export singleton instance
162
+ const sessionService = exports.sessionService = SessionService.getInstance();
163
+ //# sourceMappingURL=SessionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TokenService","require","SessionService","oxyServices","activeSession","sessions","constructor","getInstance","instance","initialize","getActiveSession","getAllSessions","createSession","publicKey","Error","refreshSession","tokenService","refreshTokenIfNeeded","validateSession","Date","expiresAt","token","getAccessToken","invalidateSession","makeRequest","sessionId","undefined","cache","error","console","warn","clearTokens","filter","s","setActiveSession","session","existingIndex","findIndex","push","clearAllSessions","sessionService","exports"],"sourceRoot":"../../../../src","sources":["core/services/SessionService.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tokenService = void 0;
7
+ var _jwtDecode = require("jwt-decode");
8
+ /**
9
+ * TokenService - Single Source of Truth for Token Management
10
+ *
11
+ * Handles all token storage, retrieval, refresh, and validation.
12
+ * Used by HttpService, SocketService, and other services that need tokens.
13
+ *
14
+ * Architecture:
15
+ * - Single storage location (no duplication)
16
+ * - Automatic token refresh when expiring soon
17
+ * - Type-safe token payload handling
18
+ * - userId is always MongoDB ObjectId, never publicKey
19
+ */
20
+
21
+ /**
22
+ * AccessTokenPayload - Matches the token payload structure from API
23
+ * userId is always MongoDB ObjectId (24 hex characters), never publicKey
24
+ */
25
+
26
+ /**
27
+ * TokenService - Singleton pattern for global token management
28
+ */
29
+ class TokenService {
30
+ tokenStore = {
31
+ accessToken: null,
32
+ refreshToken: null
33
+ };
34
+ refreshPromise = null;
35
+ baseURL = null;
36
+ constructor() {}
37
+ static getInstance() {
38
+ if (!TokenService.instance) {
39
+ TokenService.instance = new TokenService();
40
+ }
41
+ return TokenService.instance;
42
+ }
43
+
44
+ /**
45
+ * Initialize TokenService with base URL for refresh requests
46
+ */
47
+ initialize(baseURL) {
48
+ this.baseURL = baseURL;
49
+ }
50
+
51
+ /**
52
+ * Get current access token
53
+ */
54
+ getAccessToken() {
55
+ return this.tokenStore.accessToken;
56
+ }
57
+
58
+ /**
59
+ * Get current refresh token
60
+ */
61
+ getRefreshToken() {
62
+ return this.tokenStore.refreshToken;
63
+ }
64
+
65
+ /**
66
+ * Set tokens (called after login or token refresh)
67
+ */
68
+ setTokens(accessToken, refreshToken = '') {
69
+ this.tokenStore.accessToken = accessToken;
70
+ this.tokenStore.refreshToken = refreshToken || this.tokenStore.refreshToken;
71
+ }
72
+
73
+ /**
74
+ * Clear all tokens (called on logout)
75
+ */
76
+ clearTokens() {
77
+ this.tokenStore.accessToken = null;
78
+ this.tokenStore.refreshToken = null;
79
+ this.refreshPromise = null;
80
+ }
81
+
82
+ /**
83
+ * Check if access token exists
84
+ */
85
+ hasAccessToken() {
86
+ return !!this.tokenStore.accessToken;
87
+ }
88
+
89
+ /**
90
+ * Check if token is expiring soon (within 60 seconds)
91
+ */
92
+ isTokenExpiringSoon() {
93
+ const token = this.tokenStore.accessToken;
94
+ if (!token) return false;
95
+ try {
96
+ const decoded = (0, _jwtDecode.jwtDecode)(token);
97
+ if (!decoded.exp) return false;
98
+ const currentTime = Math.floor(Date.now() / 1000);
99
+ return decoded.exp - currentTime < 60; // Expiring within 60 seconds
100
+ } catch {
101
+ return false;
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Get userId from current access token
107
+ * Returns MongoDB ObjectId (never publicKey)
108
+ */
109
+ getUserIdFromToken() {
110
+ const token = this.tokenStore.accessToken;
111
+ if (!token) return null;
112
+ try {
113
+ const decoded = (0, _jwtDecode.jwtDecode)(token);
114
+ return decoded.userId || null;
115
+ } catch {
116
+ return null;
117
+ }
118
+ }
119
+
120
+ /**
121
+ * Refresh access token if expiring soon
122
+ * Returns promise that resolves when token is refreshed (or already valid)
123
+ */
124
+ async refreshTokenIfNeeded() {
125
+ // If already refreshing, wait for that promise
126
+ if (this.refreshPromise) {
127
+ return this.refreshPromise;
128
+ }
129
+
130
+ // If token not expiring soon, no refresh needed
131
+ if (!this.isTokenExpiringSoon()) {
132
+ return;
133
+ }
134
+
135
+ // Start refresh
136
+ this.refreshPromise = this._performRefresh();
137
+ try {
138
+ await this.refreshPromise;
139
+ } finally {
140
+ this.refreshPromise = null;
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Perform token refresh
146
+ */
147
+ async _performRefresh() {
148
+ const token = this.tokenStore.accessToken;
149
+ if (!token) {
150
+ throw new Error('No access token to refresh');
151
+ }
152
+ try {
153
+ const decoded = (0, _jwtDecode.jwtDecode)(token);
154
+ if (!decoded.sessionId) {
155
+ throw new Error('Token missing sessionId');
156
+ }
157
+ if (!this.baseURL) {
158
+ throw new Error('TokenService not initialized with baseURL');
159
+ }
160
+ const refreshUrl = `${this.baseURL}/api/session/token/${decoded.sessionId}`;
161
+ const response = await fetch(refreshUrl, {
162
+ method: 'GET',
163
+ headers: {
164
+ 'Accept': 'application/json'
165
+ },
166
+ signal: AbortSignal.timeout(5000)
167
+ });
168
+ if (!response.ok) {
169
+ throw new Error(`Token refresh failed: ${response.status}`);
170
+ }
171
+ const {
172
+ accessToken: newToken
173
+ } = await response.json();
174
+ if (!newToken) {
175
+ throw new Error('No access token in refresh response');
176
+ }
177
+
178
+ // Validate new token has correct userId format (ObjectId)
179
+ const newDecoded = (0, _jwtDecode.jwtDecode)(newToken);
180
+ if (newDecoded.userId && !/^[0-9a-fA-F]{24}$/.test(newDecoded.userId)) {
181
+ throw new Error(`Invalid userId format in refreshed token: ${newDecoded.userId.substring(0, 20)}...`);
182
+ }
183
+ this.setTokens(newToken);
184
+ } catch (error) {
185
+ // Clear tokens on refresh failure (likely expired or invalid)
186
+ this.clearTokens();
187
+ throw error;
188
+ }
189
+ }
190
+
191
+ /**
192
+ * Get authorization header with automatic refresh
193
+ */
194
+ async getAuthHeader() {
195
+ // Refresh if needed
196
+ await this.refreshTokenIfNeeded().catch(() => {
197
+ // Ignore refresh errors, will use current token or return null
198
+ });
199
+ const token = this.tokenStore.accessToken;
200
+ return token ? `Bearer ${token}` : null;
201
+ }
202
+ }
203
+
204
+ // Export singleton instance
205
+ const tokenService = exports.tokenService = TokenService.getInstance();
206
+ //# sourceMappingURL=TokenService.js.map