fix(audit): ScadaBridge C3 review — safe enum-parse (fallback) in SqliteAuditWriter.MapRow + AuditEventDtoMapper.FromDto (Task 2.5)

This commit is contained in:
Joseph Doherty
2026-06-02 12:55:07 -04:00
parent db707bb0de
commit c27b2c3d5f
5 changed files with 82 additions and 7 deletions
@@ -105,9 +105,9 @@ public static class AuditEventDtoMapper
EventId: Guid.Parse(dto.EventId),
OccurredAtUtc: DateTime.SpecifyKind(dto.OccurredAtUtc.ToDateTime(), DateTimeKind.Utc),
IngestedAtUtc: null,
Channel: Enum.Parse<AuditChannel>(dto.Channel),
Kind: Enum.Parse<AuditKind>(dto.Kind),
Status: Enum.Parse<AuditStatus>(dto.Status),
Channel: AuditRowProjection.ParseEnum<AuditChannel>(dto.Channel, AuditChannel.ApiInbound),
Kind: AuditRowProjection.ParseEnum<AuditKind>(dto.Kind, AuditKind.InboundRequest),
Status: AuditRowProjection.ParseEnum<AuditStatus>(dto.Status, AuditStatus.Submitted),
CorrelationId: NullIfEmpty(dto.CorrelationId) is { } cid ? Guid.Parse(cid) : null,
ExecutionId: NullIfEmpty(dto.ExecutionId) is { } eid ? Guid.Parse(eid) : null,
ParentExecutionId: NullIfEmpty(dto.ParentExecutionId) is { } pid ? Guid.Parse(pid) : null,