extendSession method
Extends session duration
Implementation
Future<DSSession> extendSession(
String userId, {
Duration? additionalTime,
}) async {
final existing = _activeSessions[userId];
if (existing == null) {
throw SessionNotFoundException('No session found for user: $userId');
}
final newExpiration = existing.expiresAt.add(
additionalTime ?? const Duration(hours: 1),
);
final extendedSession = DSSession(
userId: userId,
deviceId: existing.deviceId,
createdAt: existing.createdAt,
expiresAt: newExpiration,
);
_activeSessions[userId] = extendedSession;
return extendedSession;
}