namespace CMSMicroservice.Domain.Entities.Configuration;

/// <summary>
/// نسخه اپلیکیشن‌های فرانت‌اند
/// وقتی ورژن آپدیت بشه، فرانت‌ها باید کش و داده‌های محلی رو پاک کنن
/// </summary>
public class AppVersion : BaseAuditableEntity
{
    /// <summary>
    /// نام اپلیکیشن (FrontOffice, BackOffice, MobileApp)
    /// </summary>
    public string AppName { get; set; } = string.Empty;

    /// <summary>
    /// شماره نسخه فعلی (مثلاً 1.2.3)
    /// </summary>
    public string CurrentVersion { get; set; } = string.Empty;

    /// <summary>
    /// حداقل نسخه مورد نیاز - اگر کاربر از این پایین‌تر باشه باید آپدیت کنه
    /// </summary>
    public string MinRequiredVersion { get; set; } = string.Empty;

    /// <summary>
    /// آیا کش کامل باید پاک بشه؟
    /// </summary>
    public bool RequiresFullCacheClear { get; set; }

    /// <summary>
    /// پیام آپدیت برای نمایش به کاربر
    /// </summary>
    public string? UpdateMessage { get; set; }

    /// <summary>
    /// توضیحات تغییرات این نسخه
    /// </summary>
    public string? ReleaseNotes { get; set; }

    /// <summary>
    /// فعال یا غیرفعال
    /// </summary>
    public bool IsActive { get; set; } = true;
}
