namespace CMSMicroservice.Application.AppVersionCQ.Queries.GetAllAppVersions;

/// <summary>
/// Query برای دریافت همه نسخه‌های اپلیکیشن‌ها
/// </summary>
public record GetAllAppVersionsQuery(bool IncludeInactive = false) : IRequest<List<AppVersionItemDto>>;

/// <summary>
/// DTO برای هر آیتم نسخه اپلیکیشن
/// </summary>
public record AppVersionItemDto
{
    public long Id { get; init; }
    public string AppName { get; init; } = string.Empty;
    public string CurrentVersion { get; init; } = string.Empty;
    public string MinRequiredVersion { get; init; } = string.Empty;
    public bool RequiresFullCacheClear { get; init; }
    public string? UpdateMessage { get; init; }
    public string? ReleaseNotes { get; init; }
    public bool IsActive { get; init; }
    public DateTime Created { get; init; }
    public DateTime? LastModified { get; init; }
}
