using System.ComponentModel.DataAnnotations;

namespace NexusReader.Domain.Entities;

public class SubscriptionPlan
{
    public const string FreeName = "Free";
    public const string BasicName = "Basic";
    public const string ProName = "Pro";
    public const string EnterpriseName = "Enterprise";

    public const int FreeId = 1;
    public const int BasicId = 2;
    public const int ProId = 3;
    public const int EnterpriseId = 4;

    [Key]
    public int Id { get; set; }

    [Required]
    [MaxLength(50)]
    public string PlanName { get; set; } = string.Empty;

    public int AITokenLimit { get; set; }
    
    public bool IsUnlimitedTokens { get; set; }

    public decimal MonthlyPrice { get; set; }

    [MaxLength(50)]
    public string StripeProductId { get; set; } = string.Empty;
}
