using System.Collections.Immutable; namespace StellaOps.Concelier.Connector.Jvn.Internal; internal sealed record JvnDetailDto( string VulnerabilityId, string Title, string? Overview, string? Language, DateTimeOffset? DateFirstPublished, DateTimeOffset? DateLastUpdated, DateTimeOffset? DatePublic, ImmutableArray Cvss, ImmutableArray Affected, ImmutableArray References, ImmutableArray History, ImmutableArray CweIds, ImmutableArray CveIds, string? AdvisoryUrl, string? JvnCategory, ImmutableArray VendorStatuses) { public static JvnDetailDto Empty { get; } = new( "unknown", "unknown", null, null, null, null, null, ImmutableArray.Empty, ImmutableArray.Empty, ImmutableArray.Empty, ImmutableArray.Empty, ImmutableArray.Empty, ImmutableArray.Empty, null, null, ImmutableArray.Empty); } internal sealed record JvnCvssDto( string Version, string Type, string Severity, double Score, string? Vector); internal sealed record JvnAffectedProductDto( string? Vendor, string? Product, string? Cpe, string? CpeVendor, string? CpeProduct, string? Version, string? Build, string? Description, string? Status); internal sealed record JvnReferenceDto( string Type, string Id, string? Name, string Url); internal sealed record JvnHistoryEntryDto( string? Number, DateTimeOffset? Timestamp, string? Description);