using MongoDB.Bson.Serialization.Attributes;

namespace StellaOps.Scanner.Storage.Catalog;

[BsonIgnoreExtraElements]
public sealed class ImageDocument
{
    [BsonId]
    public string ImageDigest { get; set; } = string.Empty;

    [BsonElement("repository")]
    public string Repository { get; set; } = string.Empty;

    [BsonElement("tag")]
    [BsonIgnoreIfNull]
    public string? Tag { get; set; }
        = null;

    [BsonElement("architecture")]
    public string Architecture { get; set; } = string.Empty;

    [BsonElement("createdAt")]
    public DateTime CreatedAtUtc { get; set; }
        = DateTime.UtcNow;

    [BsonElement("lastSeenAt")]
    public DateTime LastSeenAtUtc { get; set; }
        = DateTime.UtcNow;
}
