consolidation of some of the modules, localization fixes, product advisories work, qa work

This commit is contained in:
master
2026-03-05 03:54:22 +02:00
parent 7bafcc3eef
commit 8e1cb9448d
3878 changed files with 72600 additions and 46861 deletions

View File

@@ -0,0 +1,124 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace StellaOps.JobEngine.Schemas;
public sealed record ScannerReportReadyPayload
{
[JsonPropertyName("reportId")]
public string ReportId { get; init; } = string.Empty;
[JsonPropertyName("scanId")]
public string? ScanId { get; init; }
[JsonPropertyName("imageDigest")]
public string? ImageDigest { get; init; }
[JsonPropertyName("generatedAt")]
public DateTimeOffset GeneratedAt { get; init; }
[JsonPropertyName("verdict")]
public string Verdict { get; init; } = string.Empty;
[JsonPropertyName("summary")]
public Summary Summary { get; init; } = new();
[JsonPropertyName("delta")]
public Delta? Delta { get; init; }
[JsonPropertyName("quietedFindingCount")]
public int? QuietedFindingCount { get; init; }
[JsonPropertyName("policy")]
public PolicyRevision? Policy { get; init; }
[JsonPropertyName("links")]
public ReportLinks Links { get; init; } = new();
[JsonPropertyName("dsse")]
public DsseEnvelope? Dsse { get; init; }
[JsonPropertyName("report")]
public JsonElement Report { get; init; }
}
public sealed record Summary
{
[JsonPropertyName("total")]
public int Total { get; init; }
[JsonPropertyName("blocked")]
public int Blocked { get; init; }
[JsonPropertyName("warned")]
public int Warned { get; init; }
[JsonPropertyName("ignored")]
public int Ignored { get; init; }
[JsonPropertyName("quieted")]
public int Quieted { get; init; }
}
public sealed record Delta
{
[JsonPropertyName("newCritical")]
public int? NewCritical { get; init; }
[JsonPropertyName("newHigh")]
public int? NewHigh { get; init; }
[JsonPropertyName("kev")]
public IReadOnlyList<string>? Kev { get; init; }
}
public sealed record PolicyRevision
{
[JsonPropertyName("digest")]
public string? Digest { get; init; }
[JsonPropertyName("revisionId")]
public string? RevisionId { get; init; }
}
public sealed record ReportLinks
{
[JsonPropertyName("report.ui")]
public string? ReportUi { get; init; }
[JsonPropertyName("report.api")]
public string? ReportApi { get; init; }
[JsonPropertyName("policy.ui")]
public string? PolicyUi { get; init; }
[JsonPropertyName("policy.api")]
public string? PolicyApi { get; init; }
[JsonPropertyName("attestation.ui")]
public string? AttestationUi { get; init; }
[JsonPropertyName("attestation.api")]
public string? AttestationApi { get; init; }
}
public sealed record DsseEnvelope
{
[JsonPropertyName("payloadType")]
public string PayloadType { get; init; } = string.Empty;
[JsonPropertyName("payload")]
public string Payload { get; init; } = string.Empty;
[JsonPropertyName("signatures")]
public IReadOnlyList<DsseSignature> Signatures { get; init; } = Array.Empty<DsseSignature>();
}
public sealed record DsseSignature
{
[JsonPropertyName("keyid")]
public string? KeyId { get; init; }
[JsonPropertyName("sig")]
public string Sig { get; init; } = string.Empty;
}