using UserManagement.Application.Interfaces; using UserManagement.Infrastructure.Interfaces; namespace UserManagement.Application.Services { public class AuthService : IAuthService { // CTOR private readonly IUserRepository _userRepository; public AuthService(IUserRepository userRepository) { _userRepository = userRepository; } // AUTHENTICATE public async Task ValidateAsync(string username, string password) { var user = await _userRepository.GetByUsernameAsync(username, includeRoles: true); return BCrypt.Net.BCrypt.Verify(password, user!.PasswordHash); } } }