Renamed to avoid confusion with domain model repositories

This commit is contained in:
Veljko Tosic
2026-02-14 22:40:57 +01:00
parent 628bba5986
commit 44ded27a2f
7 changed files with 22 additions and 22 deletions

View File

@@ -3,7 +3,7 @@ using AipsCore.Domain.Models.User.ValueObjects;
namespace AipsCore.Application.Abstract.UserContext; namespace AipsCore.Application.Abstract.UserContext;
public interface IRefreshTokenRepository public interface IRefreshTokenManager
{ {
Task AddAsync(string token, UserId userId, CancellationToken cancellationToken = default); Task AddAsync(string token, UserId userId, CancellationToken cancellationToken = default);
Task<RefreshToken> GetByValueAsync(string token, CancellationToken cancellationToken = default); Task<RefreshToken> GetByValueAsync(string token, CancellationToken cancellationToken = default);

View File

@@ -9,18 +9,18 @@ namespace AipsCore.Application.Models.User.Command.LogIn;
public class LogInUserCommandHandler : ICommandHandler<LogInUserCommand, LogInUserResultDto> public class LogInUserCommandHandler : ICommandHandler<LogInUserCommand, LogInUserResultDto>
{ {
private readonly ITokenProvider _tokenProvider; private readonly ITokenProvider _tokenProvider;
private readonly IRefreshTokenRepository _refreshTokenRepository; private readonly IRefreshTokenManager _refreshTokenManager;
private readonly IAuthService _authService; private readonly IAuthService _authService;
private readonly IUnitOfWork _unitOfWork; private readonly IUnitOfWork _unitOfWork;
public LogInUserCommandHandler( public LogInUserCommandHandler(
ITokenProvider tokenProvider, ITokenProvider tokenProvider,
IRefreshTokenRepository refreshTokenRepository, IRefreshTokenManager refreshTokenManager,
IAuthService authService, IAuthService authService,
IUnitOfWork unitOfWork) IUnitOfWork unitOfWork)
{ {
_tokenProvider = tokenProvider; _tokenProvider = tokenProvider;
_refreshTokenRepository = refreshTokenRepository; _refreshTokenManager = refreshTokenManager;
_authService = authService; _authService = authService;
_unitOfWork = unitOfWork; _unitOfWork = unitOfWork;
} }
@@ -32,7 +32,7 @@ public class LogInUserCommandHandler : ICommandHandler<LogInUserCommand, LogInUs
var accessToken = _tokenProvider.GenerateAccessToken(loginResult.User, loginResult.Roles); var accessToken = _tokenProvider.GenerateAccessToken(loginResult.User, loginResult.Roles);
var refreshToken = _tokenProvider.GenerateRefreshToken(); var refreshToken = _tokenProvider.GenerateRefreshToken();
await _refreshTokenRepository.AddAsync(refreshToken, loginResult.User.Id, cancellationToken); await _refreshTokenManager.AddAsync(refreshToken, loginResult.User.Id, cancellationToken);
await _unitOfWork.SaveChangesAsync(cancellationToken); await _unitOfWork.SaveChangesAsync(cancellationToken);
return new LogInUserResultDto(accessToken, refreshToken); return new LogInUserResultDto(accessToken, refreshToken);

View File

@@ -5,15 +5,15 @@ namespace AipsCore.Application.Models.User.Command.LogOut;
public class LogOutCommandHandler : ICommandHandler<LogOutCommand> public class LogOutCommandHandler : ICommandHandler<LogOutCommand>
{ {
private readonly IRefreshTokenRepository _refreshTokenRepository; private readonly IRefreshTokenManager _refreshTokenManager;
public LogOutCommandHandler(IRefreshTokenRepository refreshTokenRepository) public LogOutCommandHandler(IRefreshTokenManager refreshTokenManager)
{ {
_refreshTokenRepository = refreshTokenRepository; _refreshTokenManager = refreshTokenManager;
} }
public async Task Handle(LogOutCommand command, CancellationToken cancellationToken = default) public async Task Handle(LogOutCommand command, CancellationToken cancellationToken = default)
{ {
await _refreshTokenRepository.RevokeAsync(command.RefreshToken, cancellationToken); await _refreshTokenManager.RevokeAsync(command.RefreshToken, cancellationToken);
} }
} }

View File

@@ -5,12 +5,12 @@ namespace AipsCore.Application.Models.User.Command.LogOutAll;
public class LogOutAllCommandHandler : ICommandHandler<LogOutAllCommand> public class LogOutAllCommandHandler : ICommandHandler<LogOutAllCommand>
{ {
private readonly IRefreshTokenRepository _refreshTokenRepository; private readonly IRefreshTokenManager _refreshTokenManager;
private readonly IUserContext _userContext; private readonly IUserContext _userContext;
public LogOutAllCommandHandler(IRefreshTokenRepository refreshTokenRepository, IUserContext userContext) public LogOutAllCommandHandler(IRefreshTokenManager refreshTokenManager, IUserContext userContext)
{ {
_refreshTokenRepository = refreshTokenRepository; _refreshTokenManager = refreshTokenManager;
_userContext = userContext; _userContext = userContext;
} }
@@ -18,6 +18,6 @@ public class LogOutAllCommandHandler : ICommandHandler<LogOutAllCommand>
{ {
var userId = _userContext.GetCurrentUserId(); var userId = _userContext.GetCurrentUserId();
return _refreshTokenRepository.RevokeAllAsync(userId, cancellationToken); return _refreshTokenManager.RevokeAllAsync(userId, cancellationToken);
} }
} }

View File

@@ -9,33 +9,33 @@ namespace AipsCore.Application.Models.User.Command.RefreshLogIn;
public class RefreshLogInCommandHandler : ICommandHandler<RefreshLogInCommand, LogInUserResultDto> public class RefreshLogInCommandHandler : ICommandHandler<RefreshLogInCommand, LogInUserResultDto>
{ {
private readonly ITokenProvider _tokenProvider; private readonly ITokenProvider _tokenProvider;
private readonly IRefreshTokenRepository _refreshTokenRepository; private readonly IRefreshTokenManager _refreshTokenManager;
private readonly IAuthService _authService; private readonly IAuthService _authService;
private readonly IUnitOfWork _unitOfWork; private readonly IUnitOfWork _unitOfWork;
public RefreshLogInCommandHandler( public RefreshLogInCommandHandler(
ITokenProvider tokenProvider, ITokenProvider tokenProvider,
IRefreshTokenRepository refreshTokenRepository, IRefreshTokenManager refreshTokenManager,
IAuthService authService, IAuthService authService,
IUnitOfWork unitOfWork) IUnitOfWork unitOfWork)
{ {
_tokenProvider = tokenProvider; _tokenProvider = tokenProvider;
_refreshTokenRepository = refreshTokenRepository; _refreshTokenManager = refreshTokenManager;
_authService = authService; _authService = authService;
_unitOfWork = unitOfWork; _unitOfWork = unitOfWork;
} }
public async Task<LogInUserResultDto> Handle(RefreshLogInCommand command, CancellationToken cancellationToken = default) public async Task<LogInUserResultDto> Handle(RefreshLogInCommand command, CancellationToken cancellationToken = default)
{ {
var refreshToken = await _refreshTokenRepository.GetByValueAsync(command.RefreshToken, cancellationToken); var refreshToken = await _refreshTokenManager.GetByValueAsync(command.RefreshToken, cancellationToken);
var loginResult = await _authService.LoginWithRefreshTokenAsync(refreshToken, cancellationToken); var loginResult = await _authService.LoginWithRefreshTokenAsync(refreshToken, cancellationToken);
var newAccessToken = _tokenProvider.GenerateAccessToken(loginResult.User, loginResult.Roles); var newAccessToken = _tokenProvider.GenerateAccessToken(loginResult.User, loginResult.Roles);
var newRefreshToken = _tokenProvider.GenerateRefreshToken(); var newRefreshToken = _tokenProvider.GenerateRefreshToken();
await _refreshTokenRepository.RevokeAsync(refreshToken.Value, cancellationToken); await _refreshTokenManager.RevokeAsync(refreshToken.Value, cancellationToken);
await _refreshTokenRepository.AddAsync(newRefreshToken, loginResult.User.Id, cancellationToken); await _refreshTokenManager.AddAsync(newRefreshToken, loginResult.User.Id, cancellationToken);
await _unitOfWork.SaveChangesAsync(cancellationToken); await _unitOfWork.SaveChangesAsync(cancellationToken);

View File

@@ -36,7 +36,7 @@ public static class PersistenceRegistrationExtensions
services.AddTransient<IWhiteboardMembershipRepository, WhiteboardMembershipRepository>(); services.AddTransient<IWhiteboardMembershipRepository, WhiteboardMembershipRepository>();
services.AddTransient<IShapeRepository, ShapeRepository>(); services.AddTransient<IShapeRepository, ShapeRepository>();
services.AddTransient<IRefreshTokenRepository, RefreshTokenRepository>(); services.AddTransient<IRefreshTokenManager, RefreshTokenManager>();
return services; return services;
} }

View File

@@ -6,12 +6,12 @@ using Microsoft.EntityFrameworkCore;
namespace AipsCore.Infrastructure.Persistence.RefreshToken; namespace AipsCore.Infrastructure.Persistence.RefreshToken;
public class RefreshTokenRepository : IRefreshTokenRepository public class RefreshTokenManager : IRefreshTokenManager
{ {
private readonly AipsDbContext _dbContext; private readonly AipsDbContext _dbContext;
private readonly JwtSettings _jwtSettings; private readonly JwtSettings _jwtSettings;
public RefreshTokenRepository(AipsDbContext dbContext, JwtSettings jwtSettings) public RefreshTokenManager(AipsDbContext dbContext, JwtSettings jwtSettings)
{ {
_dbContext = dbContext; _dbContext = dbContext;
_jwtSettings = jwtSettings; _jwtSettings = jwtSettings;