extendSession method

Future<DSSession> extendSession(
  1. String userId, {
  2. Duration? additionalTime,
})

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;
}