namespace EchoHub.Core.Models;

public class User
{
    public Guid Id { get; set; }
    public required string Username { get; set; }
    public required string PasswordHash { get; set; }
    public string? DisplayName { get; set; }
    public string? Bio { get; set; }
    public string? NicknameColor { get; set; }
    public string? AvatarAscii { get; set; }
    public UserStatus Status { get; set; } = UserStatus.Online;
    public string? StatusMessage { get; set; }
    public ServerRole Role { get; set; } = ServerRole.Member;
    public bool IsMuted { get; set; }
    public DateTimeOffset? MutedUntil { get; set; }
    public bool IsBanned { get; set; }
    public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
    public DateTimeOffset LastSeenAt { get; set; } = DateTimeOffset.UtcNow;
}
