Class UserSessionRepository
- Namespace
- KadicAuth.Infrastructure.Repositories
- Assembly
- KadicAuth.Infrastructure.dll
public class UserSessionRepository : IUserSessionRepository
- Inheritance
-
objectUserSessionRepository
- Implements
Constructors
UserSessionRepository(AuthDbContext)
public UserSessionRepository(AuthDbContext context)
Parameters
contextAuthDbContext
Methods
AddAsync(UserSession, CancellationToken)
public Task AddAsync(UserSession userSession, CancellationToken cancellationToken = default)
Parameters
userSessionUserSessioncancellationTokenCancellationToken
Returns
- Task
CreateAsync(UserSession, CancellationToken)
public Task CreateAsync(UserSession session, CancellationToken cancellationToken = default)
Parameters
sessionUserSessioncancellationTokenCancellationToken
Returns
- Task
GetActiveSessionsAsync(Guid, Guid, CancellationToken)
Returns all active sessions for a user within a specific tenant, ordered by CreatedAt ascending (oldest first). Active = RevokedAt is null AND (ExpiresAt is null OR ExpiresAt > UtcNow).
public Task<IReadOnlyList<UserSession>> GetActiveSessionsAsync(Guid userId, Guid tenantId, CancellationToken cancellationToken = default)
Parameters
userIdGuidtenantIdGuidcancellationTokenCancellationToken
Returns
- Task<IReadOnlyList<UserSession>>
GetActiveSessionsByUserIdAsync(Guid, CancellationToken)
public Task<List<UserSession>> GetActiveSessionsByUserIdAsync(Guid userId, CancellationToken cancellationToken = default)
Parameters
userIdGuidcancellationTokenCancellationToken
Returns
- Task<List<UserSession>>
GetByIdAsync(Guid, CancellationToken)
public Task<UserSession?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<UserSession>
IsActiveAsync(Guid, CancellationToken)
public Task<bool> IsActiveAsync(Guid sessionId, CancellationToken cancellationToken = default)
Parameters
sessionIdGuidcancellationTokenCancellationToken
Returns
- Task<bool>
RevokeAllByUserIdAsync(Guid, CancellationToken)
public Task RevokeAllByUserIdAsync(Guid userId, CancellationToken cancellationToken = default)
Parameters
userIdGuidcancellationTokenCancellationToken
Returns
- Task
RevokeAsync(Guid, string?, CancellationToken)
public Task RevokeAsync(Guid sessionId, string? reason = null, CancellationToken cancellationToken = default)
Parameters
sessionIdGuidreasonstringcancellationTokenCancellationToken
Returns
- Task
UpdateAsync(UserSession, CancellationToken)
public Task UpdateAsync(UserSession userSession, CancellationToken cancellationToken = default)
Parameters
userSessionUserSessioncancellationTokenCancellationToken
Returns
- Task