@ackplus/nest-auth 1.1.45 → 1.1.47

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 (50) hide show
  1. package/dist/lib/admin-console/controllers/admin-users.controller.d.ts +1 -1
  2. package/dist/lib/admin-console/controllers/admin-users.controller.d.ts.map +1 -1
  3. package/dist/lib/admin-console/controllers/admin-users.controller.js +14 -10
  4. package/dist/lib/admin-console/controllers/admin-users.controller.js.map +1 -1
  5. package/dist/lib/admin-console/static/index.html +324 -329
  6. package/dist/lib/admin-console/static/nest-auth.json +1 -1
  7. package/dist/lib/auth/guards/auth.guard.d.ts +4 -1
  8. package/dist/lib/auth/guards/auth.guard.d.ts.map +1 -1
  9. package/dist/lib/auth/guards/auth.guard.js +32 -4
  10. package/dist/lib/auth/guards/auth.guard.js.map +1 -1
  11. package/dist/lib/core/interfaces/session-options.interface.d.ts +16 -1
  12. package/dist/lib/core/interfaces/session-options.interface.d.ts.map +1 -1
  13. package/dist/lib/core/services/auth-config.service.d.ts +1 -0
  14. package/dist/lib/core/services/auth-config.service.d.ts.map +1 -1
  15. package/dist/lib/core/services/auth-config.service.js +18 -0
  16. package/dist/lib/core/services/auth-config.service.js.map +1 -1
  17. package/dist/lib/session/index.d.ts +2 -1
  18. package/dist/lib/session/index.d.ts.map +1 -1
  19. package/dist/lib/session/index.js +2 -1
  20. package/dist/lib/session/index.js.map +1 -1
  21. package/dist/lib/session/interfaces/{session-repository.interface.d.ts → session-store.interface.d.ts} +2 -2
  22. package/dist/lib/session/interfaces/session-store.interface.d.ts.map +1 -0
  23. package/dist/lib/session/interfaces/{session-repository.interface.js → session-store.interface.js} +1 -1
  24. package/dist/lib/session/interfaces/session-store.interface.js.map +1 -0
  25. package/dist/lib/session/repositories/base-session.repository.d.ts +2 -2
  26. package/dist/lib/session/repositories/base-session.repository.d.ts.map +1 -1
  27. package/dist/lib/session/repositories/base-session.repository.js +4 -2
  28. package/dist/lib/session/repositories/base-session.repository.js.map +1 -1
  29. package/dist/lib/session/repositories/redis-session.repository.d.ts +14 -4
  30. package/dist/lib/session/repositories/redis-session.repository.d.ts.map +1 -1
  31. package/dist/lib/session/repositories/redis-session.repository.js +220 -65
  32. package/dist/lib/session/repositories/redis-session.repository.js.map +1 -1
  33. package/dist/lib/session/repositories/typeorm-session.repository.d.ts.map +1 -1
  34. package/dist/lib/session/repositories/typeorm-session.repository.js +29 -4
  35. package/dist/lib/session/repositories/typeorm-session.repository.js.map +1 -1
  36. package/dist/lib/session/services/session-manager.service.d.ts +8 -4
  37. package/dist/lib/session/services/session-manager.service.d.ts.map +1 -1
  38. package/dist/lib/session/services/session-manager.service.js +72 -23
  39. package/dist/lib/session/services/session-manager.service.js.map +1 -1
  40. package/dist/lib/session/session.module.d.ts +5 -1
  41. package/dist/lib/session/session.module.d.ts.map +1 -1
  42. package/dist/lib/session/session.module.js +93 -26
  43. package/dist/lib/session/session.module.js.map +1 -1
  44. package/dist/lib/session/stores/database-session.store.d.ts +19 -0
  45. package/dist/lib/session/stores/database-session.store.d.ts.map +1 -0
  46. package/dist/lib/session/stores/database-session.store.js +56 -0
  47. package/dist/lib/session/stores/database-session.store.js.map +1 -0
  48. package/package.json +5 -5
  49. package/dist/lib/session/interfaces/session-repository.interface.d.ts.map +0 -1
  50. package/dist/lib/session/interfaces/session-repository.interface.js.map +0 -1
@@ -8,41 +8,72 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.RedisSessionRepository = void 0;
12
+ exports.RedisSessionRepository = exports.RedisSessionStore = void 0;
16
13
  const common_1 = require("@nestjs/common");
17
14
  const base_session_repository_1 = require("./base-session.repository");
18
15
  const uuid_1 = require("uuid");
19
- let Redis;
20
- let InjectRedis;
21
- try {
22
- Redis = require('ioredis').default || require('ioredis');
23
- const ioredisModule = require('@nestjs-modules/ioredis');
24
- InjectRedis = ioredisModule.InjectRedis;
25
- }
26
- catch (e) {
27
- }
28
- let RedisSessionRepository = class RedisSessionRepository extends base_session_repository_1.BaseSessionRepository {
29
- prefix = 'nest-auth:session:';
30
- userSessionsPrefix = 'nest-auth:user-sessions:';
16
+ let RedisSessionStore = class RedisSessionStore extends base_session_repository_1.BaseSessionRepository {
17
+ keyPrefix;
18
+ userSessionsPrefix;
19
+ defaultTtlSeconds;
31
20
  redis;
32
- constructor(redisClient) {
21
+ constructor(redisClient, options = {}) {
33
22
  super();
34
23
  if (!redisClient) {
35
- throw new Error('RedisSessionRepository requires ioredis and @nestjs-modules/ioredis packages. ' +
36
- 'Install them with: npm install ioredis @nestjs-modules/ioredis');
24
+ throw new Error('RedisSessionStore requires the ioredis client. Install with: npm install ioredis');
37
25
  }
38
26
  this.redis = redisClient;
27
+ this.keyPrefix = this.normalizePrefix(options.keyPrefix || 'nest-auth:sess:');
28
+ this.userSessionsPrefix = `${this.keyPrefix}user:`;
29
+ this.defaultTtlSeconds = options.ttlSeconds;
30
+ }
31
+ normalizePrefix(prefix) {
32
+ if (!prefix)
33
+ return '';
34
+ return prefix.endsWith(':') ? prefix : `${prefix}:`;
39
35
  }
40
36
  getSessionKey(sessionId) {
41
- return `${this.prefix}${sessionId}`;
37
+ return `${this.keyPrefix}${sessionId}`;
42
38
  }
43
39
  getUserSessionsKey(userId) {
44
40
  return `${this.userSessionsPrefix}${userId}`;
45
41
  }
42
+ getTtlSeconds(expiresAt) {
43
+ if (expiresAt instanceof Date) {
44
+ const ttl = Math.floor((expiresAt.getTime() - Date.now()) / 1000);
45
+ if (ttl > 0) {
46
+ return ttl;
47
+ }
48
+ }
49
+ if (typeof this.defaultTtlSeconds === 'number' && this.defaultTtlSeconds > 0) {
50
+ return this.defaultTtlSeconds;
51
+ }
52
+ return undefined;
53
+ }
54
+ serializeSessionPartial(session) {
55
+ const data = {};
56
+ if (session.userId !== undefined)
57
+ data.userId = session.userId;
58
+ if (session.refreshToken !== undefined)
59
+ data.refreshToken = session.refreshToken;
60
+ if (session.userAgent !== undefined)
61
+ data.userAgent = session.userAgent;
62
+ if (session.deviceName !== undefined)
63
+ data.deviceName = session.deviceName;
64
+ if (session.ipAddress !== undefined)
65
+ data.ipAddress = session.ipAddress;
66
+ if (session.data !== undefined) {
67
+ data.data = session.data === null ? null : JSON.stringify(session.data);
68
+ }
69
+ if (session.expiresAt !== undefined) {
70
+ data.expiresAt = session.expiresAt ? new Date(session.expiresAt).toISOString() : null;
71
+ }
72
+ if (session.lastActive !== undefined) {
73
+ data.lastActive = session.lastActive ? new Date(session.lastActive).toISOString() : null;
74
+ }
75
+ return data;
76
+ }
46
77
  async create(session) {
47
78
  const sessionId = session.id || (0, uuid_1.v4)();
48
79
  const sessionKey = this.getSessionKey(sessionId);
@@ -58,63 +89,173 @@ let RedisSessionRepository = class RedisSessionRepository extends base_session_r
58
89
  ipAddress: session.ipAddress,
59
90
  lastActive: session.lastActive || new Date(),
60
91
  };
61
- const serialized = this.serializeSession(sessionData);
62
- await this.redis.hmset(sessionKey, serialized);
63
- await this.redis.sadd(userSessionsKey, sessionId);
64
- const ttl = Math.floor((session.expiresAt.getTime() - Date.now()) / 1000);
65
- if (ttl > 0) {
66
- await this.redis.expire(sessionKey, ttl);
92
+ const { id, ...sessionWithoutId } = sessionData;
93
+ const serialized = this.serializeSession(sessionWithoutId);
94
+ const pipeline = this.redis.pipeline();
95
+ pipeline.hset(sessionKey, serialized);
96
+ pipeline.sadd(userSessionsKey, sessionId);
97
+ const ttlSeconds = this.getTtlSeconds(session.expiresAt);
98
+ if (ttlSeconds) {
99
+ pipeline.expire(sessionKey, ttlSeconds);
100
+ }
101
+ const results = await pipeline.exec();
102
+ if (results) {
103
+ const errors = results.filter(([err]) => err);
104
+ if (errors.length > 0) {
105
+ const errorMessages = errors.map(([err]) => err?.message || String(err)).join(', ');
106
+ throw new Error(`Redis pipeline failed during session creation: ${errorMessages}`);
107
+ }
67
108
  }
68
109
  return sessionData;
69
110
  }
70
111
  async findById(sessionId) {
71
- const sessionKey = this.getSessionKey(sessionId);
72
- const data = await this.redis.hgetall(sessionKey);
73
- if (!data || Object.keys(data).length === 0) {
74
- return null;
112
+ try {
113
+ const sessionKey = this.getSessionKey(sessionId);
114
+ const data = await this.redis.hgetall(sessionKey);
115
+ if (!data || Object.keys(data).length === 0) {
116
+ return null;
117
+ }
118
+ const session = this.deserializeSession(data);
119
+ session.id = sessionId;
120
+ if (this.isExpired(session)) {
121
+ await this.delete(sessionId);
122
+ return null;
123
+ }
124
+ return session;
125
+ }
126
+ catch (error) {
127
+ const errorMessage = error instanceof Error ? error.message : String(error);
128
+ throw new Error(`Failed to retrieve session from Redis: ${errorMessage}`);
75
129
  }
76
- return this.deserializeSession(data);
77
130
  }
78
131
  async findByUserId(userId) {
79
- const userSessionsKey = this.getUserSessionsKey(userId);
80
- const sessionIds = await this.redis.smembers(userSessionsKey);
81
- const sessions = [];
82
- for (const sessionId of sessionIds) {
83
- const session = await this.findById(sessionId);
84
- if (session) {
132
+ try {
133
+ const userSessionsKey = this.getUserSessionsKey(userId);
134
+ const sessionIds = await this.redis.smembers(userSessionsKey);
135
+ if (!sessionIds.length) {
136
+ return [];
137
+ }
138
+ const pipeline = this.redis.pipeline();
139
+ for (const sessionId of sessionIds) {
140
+ pipeline.hgetall(this.getSessionKey(sessionId));
141
+ }
142
+ const results = await pipeline.exec();
143
+ if (!results) {
144
+ return [];
145
+ }
146
+ const errors = results.filter(([err]) => err);
147
+ if (errors.length > 0) {
148
+ const errorMessages = errors.map(([err]) => err?.message || String(err)).join(', ');
149
+ throw new Error(`Redis pipeline failed during findByUserId: ${errorMessages}`);
150
+ }
151
+ const sessions = [];
152
+ const staleIds = [];
153
+ results.forEach(([, data], index) => {
154
+ if (!data || Object.keys(data).length === 0) {
155
+ staleIds.push(sessionIds[index]);
156
+ return;
157
+ }
158
+ const session = this.deserializeSession(data);
159
+ session.id = sessionIds[index];
160
+ if (this.isExpired(session)) {
161
+ staleIds.push(sessionIds[index]);
162
+ return;
163
+ }
85
164
  sessions.push(session);
165
+ });
166
+ if (staleIds.length) {
167
+ try {
168
+ await this.redis.srem(userSessionsKey, ...staleIds);
169
+ const cleanup = this.redis.pipeline();
170
+ staleIds.forEach((sessionId) => cleanup.del(this.getSessionKey(sessionId)));
171
+ await cleanup.exec();
172
+ }
173
+ catch (cleanupError) {
174
+ console.warn('Failed to cleanup stale session IDs:', cleanupError);
175
+ }
86
176
  }
177
+ return sessions;
178
+ }
179
+ catch (error) {
180
+ const errorMessage = error instanceof Error ? error.message : String(error);
181
+ throw new Error(`Failed to retrieve user sessions from Redis: ${errorMessage}`);
87
182
  }
88
- return sessions;
89
183
  }
90
184
  async findActiveByUserId(userId) {
91
185
  const allSessions = await this.findByUserId(userId);
92
186
  return this.filterActive(allSessions);
93
187
  }
94
188
  async update(sessionId, updates) {
95
- const sessionKey = this.getSessionKey(sessionId);
96
- const serialized = this.serializeSession(updates);
97
- await this.redis.hmset(sessionKey, serialized);
98
- return await this.findById(sessionId);
189
+ try {
190
+ const sessionKey = this.getSessionKey(sessionId);
191
+ const { id, ...updatesWithoutId } = updates;
192
+ const serialized = this.serializeSessionPartial(updatesWithoutId);
193
+ if (Object.keys(serialized).length === 0) {
194
+ return await this.findById(sessionId);
195
+ }
196
+ const pipeline = this.redis.pipeline();
197
+ pipeline.hset(sessionKey, serialized);
198
+ if (updates.expiresAt) {
199
+ const ttlSeconds = this.getTtlSeconds(new Date(updates.expiresAt));
200
+ if (ttlSeconds) {
201
+ pipeline.expire(sessionKey, ttlSeconds);
202
+ }
203
+ }
204
+ const results = await pipeline.exec();
205
+ if (results) {
206
+ const errors = results.filter(([err]) => err);
207
+ if (errors.length > 0) {
208
+ const errorMessages = errors.map(([err]) => err?.message || String(err)).join(', ');
209
+ throw new Error(`Redis pipeline failed during session update: ${errorMessages}`);
210
+ }
211
+ }
212
+ return await this.findById(sessionId);
213
+ }
214
+ catch (error) {
215
+ const errorMessage = error instanceof Error ? error.message : String(error);
216
+ throw new Error(`Failed to update session in Redis: ${errorMessage}`);
217
+ }
99
218
  }
100
219
  async delete(sessionId) {
101
- const session = await this.findById(sessionId);
102
- if (!session)
103
- return;
104
- const sessionKey = this.getSessionKey(sessionId);
105
- const userSessionsKey = this.getUserSessionsKey(session.userId);
106
- await this.redis.del(sessionKey);
107
- await this.redis.srem(userSessionsKey, sessionId);
220
+ try {
221
+ const session = await this.findById(sessionId);
222
+ if (!session)
223
+ return;
224
+ const sessionKey = this.getSessionKey(sessionId);
225
+ const userSessionsKey = this.getUserSessionsKey(session.userId);
226
+ await this.redis.del(sessionKey);
227
+ await this.redis.srem(userSessionsKey, sessionId);
228
+ }
229
+ catch (error) {
230
+ const errorMessage = error instanceof Error ? error.message : String(error);
231
+ throw new Error(`Failed to delete session from Redis: ${errorMessage}`);
232
+ }
108
233
  }
109
234
  async deleteByUserId(userId) {
110
- const userSessionsKey = this.getUserSessionsKey(userId);
111
- const sessionIds = await this.redis.smembers(userSessionsKey);
112
- const pipeline = this.redis.pipeline();
113
- for (const sessionId of sessionIds) {
114
- pipeline.del(this.getSessionKey(sessionId));
235
+ try {
236
+ const userSessionsKey = this.getUserSessionsKey(userId);
237
+ const sessionIds = await this.redis.smembers(userSessionsKey);
238
+ if (!sessionIds.length) {
239
+ return;
240
+ }
241
+ const pipeline = this.redis.pipeline();
242
+ for (const sessionId of sessionIds) {
243
+ pipeline.del(this.getSessionKey(sessionId));
244
+ }
245
+ pipeline.del(userSessionsKey);
246
+ const results = await pipeline.exec();
247
+ if (results) {
248
+ const errors = results.filter(([err]) => err);
249
+ if (errors.length > 0) {
250
+ const errorMessages = errors.map(([err]) => err?.message || String(err)).join(', ');
251
+ throw new Error(`Redis pipeline failed during deleteByUserId: ${errorMessages}`);
252
+ }
253
+ }
254
+ }
255
+ catch (error) {
256
+ const errorMessage = error instanceof Error ? error.message : String(error);
257
+ throw new Error(`Failed to delete user sessions from Redis: ${errorMessage}`);
115
258
  }
116
- pipeline.del(userSessionsKey);
117
- await pipeline.exec();
118
259
  }
119
260
  async deleteExpired() {
120
261
  return 0;
@@ -124,16 +265,30 @@ let RedisSessionRepository = class RedisSessionRepository extends base_session_r
124
265
  return activeSessions.length;
125
266
  }
126
267
  async updateLastActive(sessionId) {
127
- await this.update(sessionId, {
128
- lastActive: new Date(),
129
- });
268
+ try {
269
+ await this.update(sessionId, {
270
+ lastActive: new Date(),
271
+ });
272
+ }
273
+ catch (error) {
274
+ const errorMessage = error instanceof Error ? error.message : String(error);
275
+ throw new Error(`Failed to update last active timestamp in Redis: ${errorMessage}`);
276
+ }
277
+ }
278
+ async healthCheck() {
279
+ try {
280
+ const result = await this.redis.ping();
281
+ return result === 'PONG';
282
+ }
283
+ catch {
284
+ return false;
285
+ }
130
286
  }
131
287
  };
132
- exports.RedisSessionRepository = RedisSessionRepository;
133
- exports.RedisSessionRepository = RedisSessionRepository = __decorate([
288
+ exports.RedisSessionStore = RedisSessionStore;
289
+ exports.RedisSessionRepository = RedisSessionStore;
290
+ exports.RedisSessionRepository = exports.RedisSessionStore = RedisSessionStore = __decorate([
134
291
  (0, common_1.Injectable)(),
135
- __param(0, (0, common_1.Optional)()),
136
- __param(0, (0, common_1.Inject)('REDIS_CLIENT')),
137
- __metadata("design:paramtypes", [Object])
138
- ], RedisSessionRepository);
292
+ __metadata("design:paramtypes", [Object, Object])
293
+ ], RedisSessionStore);
139
294
  //# sourceMappingURL=redis-session.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-session.repository.js","sourceRoot":"","sources":["../../../../src/lib/session/repositories/redis-session.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-session.repository.js","sourceRoot":"","sources":["../../../../src/lib/session/repositories/redis-session.repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-session.repository.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/repositories/typeorm-session.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAO/E,qBACa,wBAAyB,SAAQ,qBAAqB;IAG3D,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;IAKtD,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAMzD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAO5D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAOxD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAU9D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAKtF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAOhC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
1
+ {"version":3,"file":"typeorm-session.repository.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/repositories/typeorm-session.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAO/E,qBACa,wBAAyB,SAAQ,qBAAqB;IAG3D,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;IAKtD,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAMzD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmB5D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA0BxD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAU9D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAStF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAOhC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -29,16 +29,37 @@ let TypeORMSessionRepository = class TypeORMSessionRepository extends base_sessi
29
29
  return await this.repository.save(sessionEntity);
30
30
  }
31
31
  async findById(sessionId) {
32
- return await this.repository.findOne({
32
+ const session = await this.repository.findOne({
33
33
  where: { id: sessionId },
34
- relations: ['user'],
35
34
  });
35
+ if (!session) {
36
+ return null;
37
+ }
38
+ if (this.isExpired(session)) {
39
+ await this.delete(sessionId);
40
+ return null;
41
+ }
42
+ return session;
36
43
  }
37
44
  async findByUserId(userId) {
38
- return await this.repository.find({
45
+ const sessions = await this.repository.find({
39
46
  where: { userId },
40
47
  order: { createdAt: 'DESC' },
41
48
  });
49
+ const activeSessions = [];
50
+ const expiredIds = [];
51
+ for (const session of sessions) {
52
+ if (this.isExpired(session)) {
53
+ expiredIds.push(session.id);
54
+ }
55
+ else {
56
+ activeSessions.push(session);
57
+ }
58
+ }
59
+ if (expiredIds.length > 0) {
60
+ await this.repository.delete(expiredIds);
61
+ }
62
+ return activeSessions;
42
63
  }
43
64
  async findActiveByUserId(userId) {
44
65
  return await this.repository.find({
@@ -51,7 +72,11 @@ let TypeORMSessionRepository = class TypeORMSessionRepository extends base_sessi
51
72
  }
52
73
  async update(sessionId, updates) {
53
74
  await this.repository.update(sessionId, updates);
54
- return await this.findById(sessionId);
75
+ const updated = await this.findById(sessionId);
76
+ if (!updated) {
77
+ throw new Error(`Session ${sessionId} not found after update`);
78
+ }
79
+ return updated;
55
80
  }
56
81
  async delete(sessionId) {
57
82
  await this.repository.delete(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-session.repository.js","sourceRoot":"","sources":["../../../../src/lib/session/repositories/typeorm-session.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAyD;AACzD,uEAAkE;AAClE,+DAA6D;AAStD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,+CAAqB;IAG1C;IAFrB,YAEqB,UAAuC;QAExD,KAAK,EAAE,CAAC;QAFS,eAAU,GAAV,UAAU,CAA6B;IAG5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC5B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,SAAS,EAAE,CAAC,MAAM,CAAC;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE;YACjB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE;gBACH,MAAM;gBACN,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;aAClC;YACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;SAChC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAiC;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACpC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,EAAE;gBACH,MAAM;gBACN,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;aAClC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;YACpC,UAAU,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAxEY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,0BAAgB,EAAC,gCAAe,CAAC,CAAA;qCACL,oBAAU;GAHlC,wBAAwB,CAwEpC"}
1
+ {"version":3,"file":"typeorm-session.repository.js","sourceRoot":"","sources":["../../../../src/lib/session/repositories/typeorm-session.repository.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { ISessionRepository } from '../interfaces/session-repository.interface';
1
+ import { SessionStore } from '../interfaces/session-store.interface';
2
2
  import { NestAuthSession } from '../entities/session.entity';
3
3
  import { NestAuthUser } from '../../user/entities/user.entity';
4
+ export declare const SESSION_STORE = "SESSION_STORE";
4
5
  export declare const SESSION_REPOSITORY = "SESSION_REPOSITORY";
5
6
  export declare class SessionManagerService {
6
- private readonly repository;
7
- constructor(repository: ISessionRepository);
7
+ private readonly store;
8
+ constructor(store: SessionStore);
8
9
  private get options();
9
10
  private get maxSessionsPerUser();
10
11
  private get slidingExpiration();
@@ -21,10 +22,13 @@ export declare class SessionManagerService {
21
22
  getActiveSessions(userId: string): Promise<NestAuthSession[]>;
22
23
  updateSession(sessionId: string, updates: Partial<NestAuthSession>): Promise<NestAuthSession>;
23
24
  revokeSession(sessionId: string): Promise<void>;
25
+ deleteSession(sessionId: string): Promise<void>;
24
26
  revokeAllUserSessions(userId: string): Promise<void>;
25
27
  revokeOtherSessions(userId: string, currentSessionId: string): Promise<void>;
26
28
  cleanupExpiredSessions(): Promise<number>;
27
- extendSession(sessionId: string, duration?: string): Promise<NestAuthSession>;
29
+ extendSession(sessionId: string, duration?: string | number): Promise<NestAuthSession>;
30
+ touchSession(sessionId: string, duration?: string | number): Promise<NestAuthSession>;
31
+ rotateSession(sessionId: string): Promise<NestAuthSession>;
28
32
  validateSession(sessionId: string): Promise<NestAuthSession | null>;
29
33
  hasReachedMaxSessions(userId: string): Promise<boolean>;
30
34
  private enforceMaxSessions;
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/services/session-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAK7D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,qBACa,qBAAqB;IAG1B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,kBAAkB;IAGnD,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAKK,aAAa,CAAC,OAAO,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,UAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB9E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO3D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7F,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ7E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAQ/C,kBAAkB;IAsBhC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS;IASX,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAsChH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBlE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAGvE"}
1
+ {"version":3,"file":"session-manager.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/services/session-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAK7D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,qBACa,qBAAqB;IAG1B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAGxC,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAKK,aAAa,CAAC,OAAO,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,UAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB9E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO3D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7F,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQtF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWrF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA+B1D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAQ/C,kBAAkB;IAsBhC,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,SAAS;IASX,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAsChH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBlE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAGvE"}