namespace BukiVedi.Shared.Entities
{
    /// <summary>
    /// Статус аккаунта
    /// </summary>
    public enum MemberState
    {
        /// <summary>
        /// Зарегистрирован, но без доступа
        /// </summary>
        Newbie = 0,
        /// <summary>
        /// Активный аккаунт
        /// </summary>
        Active = 1,
        /// <summary>
        /// Забанен
        /// </summary>
        Banned = 2,
        /// <summary>
        /// Удален
        /// </summary>
        Removed = 3
    }

    /// <summary>
    /// Аккаунт
    /// </summary>
    public class Member
        : BaseEntity
    {
        /// <summary>
        /// Отображаемое имя
        /// </summary>
        public string? DisplayName { get; set; } = null;
        /// <summary>
        /// Дата регистрации
        /// </summary>
        public long Timestamp { get; set; }
        /// <summary>
        /// Статус аккаунта
        /// </summary>
        public MemberState State { get; set; }
        /// <summary>
        /// Имя
        /// </summary>
        public string Login { get; set; }
        /// <summary>
        /// Хэш пароля
        /// </summary>
        public string? PasswordHash { get; set; } = null;
    }
}
