namespace Argus.Domain;

public sealed class AppRelease
{
    public Guid Id { get; set; }

    public Guid CatalogAppId { get; set; }

    public CatalogApp CatalogApp { get; set; } = null!;

    public string Version { get; set; } = string.Empty;

    public string Channel { get; set; } = "stable";

    public string Platform { get; set; } = "generic";

    public string PackageKind { get; set; } = "binary";

    public string OriginalFileName { get; set; } = string.Empty;

    public string StoredRelativePath { get; set; } = string.Empty;

    public string ContentType { get; set; } = "application/octet-stream";

    public long PackageSizeBytes { get; set; }

    public string Sha256 { get; set; } = string.Empty;

    public string? Notes { get; set; }

    public DateTimeOffset PublishedAt { get; set; }
}
