namespace Mws.Application.Auth; public class LoginRequest { public string Username { get; set; } = string.Empty; public string Password { get; set; } = string.Empty; } public class UserDto { public Guid Id { get; set; } public string Username { get; set; } = string.Empty; public string DisplayName { get; set; } = string.Empty; public Guid RoleId { get; set; } public string RoleName { get; set; } = string.Empty; } public class LoginResponse { public string Token { get; set; } = string.Empty; public UserDto User { get; set; } = null!; } public interface IPasswordHasher { string Hash(string password); bool Verify(string password, string hash); } public interface ITokenService { string CreateToken(Guid userId, string username); }