using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace StellaOps.Excititor.Connectors.OCI.OpenVEX.Attest.Fetch;

internal sealed record OciArtifactDescriptor(
    [property: JsonPropertyName("digest")] string Digest,
    [property: JsonPropertyName("mediaType")] string MediaType,
    [property: JsonPropertyName("artifactType")] string? ArtifactType,
    [property: JsonPropertyName("size")] long Size,
    [property: JsonPropertyName("annotations")] IReadOnlyDictionary<string, string>? Annotations);

internal sealed record OciReferrerIndex(
    [property: JsonPropertyName("referrers")] IReadOnlyList<OciArtifactDescriptor> Referrers);
