finish secrets finding work and audit remarks work save

This commit is contained in:
StellaOps Bot
2026-01-04 21:48:13 +02:00
parent 75611a505f
commit 8862e112c4
157 changed files with 11702 additions and 416 deletions

View File

@@ -14,7 +14,7 @@ public sealed class TriageAttestation
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this attestation applies to.
@@ -57,7 +57,7 @@ public sealed class TriageAttestation
/// When this attestation was collected.
/// </summary>
[Column("collected_at")]
public DateTimeOffset CollectedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset CollectedAt { get; init; }
/// <summary>
/// Navigation property back to the finding.

View File

@@ -14,7 +14,7 @@ public sealed class TriageDecision
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this decision applies to.
@@ -82,7 +82,7 @@ public sealed class TriageDecision
/// When the decision was created.
/// </summary>
[Column("created_at")]
public DateTimeOffset CreatedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset CreatedAt { get; init; }
/// <summary>
/// When the decision was revoked (null = active).

View File

@@ -15,7 +15,7 @@ public sealed class TriageEffectiveVex
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this VEX status applies to.
@@ -71,7 +71,7 @@ public sealed class TriageEffectiveVex
/// When this VEX status became valid.
/// </summary>
[Column("valid_from")]
public DateTimeOffset ValidFrom { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset ValidFrom { get; init; }
/// <summary>
/// When this VEX status expires (null = indefinite).
@@ -83,7 +83,7 @@ public sealed class TriageEffectiveVex
/// When this record was collected.
/// </summary>
[Column("collected_at")]
public DateTimeOffset CollectedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset CollectedAt { get; init; }
// Navigation property
[ForeignKey(nameof(FindingId))]

View File

@@ -14,7 +14,7 @@ public sealed class TriageEvidenceArtifact
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this evidence applies to.
@@ -95,7 +95,7 @@ public sealed class TriageEvidenceArtifact
/// When this artifact was created.
/// </summary>
[Column("created_at")]
public DateTimeOffset CreatedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset CreatedAt { get; init; }
// Navigation property
[ForeignKey(nameof(FindingId))]

View File

@@ -16,7 +16,7 @@ public sealed class TriageFinding
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The asset this finding applies to.
@@ -60,19 +60,19 @@ public sealed class TriageFinding
/// When this finding was first observed.
/// </summary>
[Column("first_seen_at")]
public DateTimeOffset FirstSeenAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset FirstSeenAt { get; init; }
/// <summary>
/// When this finding was last observed.
/// </summary>
[Column("last_seen_at")]
public DateTimeOffset LastSeenAt { get; set; } = DateTimeOffset.UtcNow;
public required DateTimeOffset LastSeenAt { get; set; }
/// <summary>
/// When this finding was last updated.
/// </summary>
[Column("updated_at")]
public DateTimeOffset UpdatedAt { get; set; } = DateTimeOffset.UtcNow;
public required DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Current status of the finding (e.g., "open", "resolved", "muted").

View File

@@ -14,7 +14,7 @@ public sealed class TriagePolicyDecision
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this decision applies to.
@@ -46,7 +46,7 @@ public sealed class TriagePolicyDecision
/// When this decision was applied.
/// </summary>
[Column("applied_at")]
public DateTimeOffset AppliedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset AppliedAt { get; init; }
/// <summary>
/// Navigation property back to the finding.

View File

@@ -14,7 +14,7 @@ public sealed class TriageReachabilityResult
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this reachability result applies to.
@@ -58,7 +58,7 @@ public sealed class TriageReachabilityResult
/// When this result was computed.
/// </summary>
[Column("computed_at")]
public DateTimeOffset ComputedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset ComputedAt { get; init; }
/// <summary>
/// Content-addressed ID of the reachability subgraph for this finding.

View File

@@ -14,7 +14,7 @@ public sealed class TriageRiskResult
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this risk result applies to.
@@ -79,7 +79,7 @@ public sealed class TriageRiskResult
/// When this result was computed.
/// </summary>
[Column("computed_at")]
public DateTimeOffset ComputedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset ComputedAt { get; init; }
// Navigation property
[ForeignKey(nameof(FindingId))]

View File

@@ -14,7 +14,7 @@ public sealed class TriageScan
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// Image reference that was scanned.
@@ -51,7 +51,7 @@ public sealed class TriageScan
/// When the scan started.
/// </summary>
[Column("started_at")]
public DateTimeOffset StartedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset StartedAt { get; init; }
/// <summary>
/// When the scan completed.

View File

@@ -14,7 +14,7 @@ public sealed class TriageSnapshot
/// </summary>
[Key]
[Column("id")]
public Guid Id { get; init; } = Guid.NewGuid();
public required Guid Id { get; init; }
/// <summary>
/// The finding this snapshot applies to.
@@ -58,7 +58,7 @@ public sealed class TriageSnapshot
/// When this snapshot was created.
/// </summary>
[Column("created_at")]
public DateTimeOffset CreatedAt { get; init; } = DateTimeOffset.UtcNow;
public required DateTimeOffset CreatedAt { get; init; }
// Navigation property
[ForeignKey(nameof(FindingId))]