namespace CMSMicroservice.Domain.Entities.Club;

/// <summary>
/// جدول واسط: کاربر – فیچر (فیچرهای فعال شده برای کاربر)
/// </summary>
public class UserClubFeature : BaseAuditableEntity
{
    /// <summary>
    /// شناسه کاربر
    /// </summary>
    public long UserId { get; set; }

    /// <summary>
    /// User Navigation Property
    /// </summary>
    public virtual User User { get; set; }

    /// <summary>
    /// شناسه عضویت باشگاه
    /// </summary>
    public long ClubMembershipId { get; set; }

    /// <summary>
    /// ClubMembership Navigation Property
    /// </summary>
    public virtual ClubMembership ClubMembership { get; set; }

    /// <summary>
    /// شناسه فیچر
    /// </summary>
    public long ClubFeatureId { get; set; }

    /// <summary>
    /// ClubFeature Navigation Property
    /// </summary>
    public virtual ClubFeature ClubFeature { get; set; }

    /// <summary>
    /// تاریخ فعال‌سازی فیچر برای کاربر
    /// </summary>
    public DateTime GrantedAt { get; set; }

    /// <summary>
    /// وضعیت فعال/غیرفعال بودن ویژگی برای کاربر (قابل مدیریت توسط ادمین)
    /// </summary>
    public bool IsActive { get; set; } = true;

    /// <summary>
    /// یادداشت اختیاری
    /// </summary>
    public string? Notes { get; set; }
}
