This commit is contained in:
		| @@ -9,10 +9,12 @@ using Microsoft.AspNetCore.Http; | ||||
| using Microsoft.AspNetCore.Routing; | ||||
| using StellaOps.Policy; | ||||
| using StellaOps.Scanner.WebService.Constants; | ||||
| using StellaOps.Scanner.WebService.Contracts; | ||||
| using StellaOps.Scanner.WebService.Infrastructure; | ||||
| using StellaOps.Scanner.WebService.Security; | ||||
| using StellaOps.Scanner.WebService.Services; | ||||
| using StellaOps.Scanner.WebService.Contracts; | ||||
| using StellaOps.Scanner.WebService.Infrastructure; | ||||
| using StellaOps.Scanner.WebService.Security; | ||||
| using StellaOps.Scanner.WebService.Services; | ||||
| using StellaOps.Zastava.Core.Contracts; | ||||
| using RuntimePolicyVerdict = StellaOps.Zastava.Core.Contracts.PolicyVerdict; | ||||
|  | ||||
| namespace StellaOps.Scanner.WebService.Endpoints; | ||||
|  | ||||
| @@ -292,20 +294,23 @@ internal static class PolicyEndpoints | ||||
|                 }; | ||||
|             } | ||||
|  | ||||
|             IDictionary<string, object?>? metadata = null; | ||||
|             string? metadata = null; | ||||
|             if (decision.Metadata is not null && decision.Metadata.Count > 0) | ||||
|             { | ||||
|                 metadata = new Dictionary<string, object?>(decision.Metadata, StringComparer.OrdinalIgnoreCase); | ||||
|                 metadata = JsonSerializer.Serialize(decision.Metadata, SerializerOptions); | ||||
|             } | ||||
|  | ||||
|             results[pair.Key] = new RuntimePolicyImageResponseDto | ||||
|             { | ||||
|                 PolicyVerdict = decision.PolicyVerdict, | ||||
|                 PolicyVerdict = ToCamelCase(decision.PolicyVerdict), | ||||
|                 Signed = decision.Signed, | ||||
|                 HasSbomReferrers = decision.HasSbomReferrers, | ||||
|                 HasSbomLegacy = decision.HasSbomReferrers, | ||||
|                 Reasons = decision.Reasons.ToArray(), | ||||
|                 Rekor = rekor, | ||||
|                 Confidence = Math.Round(decision.Confidence, 6, MidpointRounding.AwayFromZero), | ||||
|                 Quieted = decision.Quieted, | ||||
|                 QuietedBy = decision.QuietedBy, | ||||
|                 Metadata = metadata | ||||
|             }; | ||||
|         } | ||||
| @@ -318,4 +323,14 @@ internal static class PolicyEndpoints | ||||
|             Results = results | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     private static string ToCamelCase(RuntimePolicyVerdict verdict) | ||||
|         => verdict switch | ||||
|         { | ||||
|             RuntimePolicyVerdict.Pass => "pass", | ||||
|             RuntimePolicyVerdict.Warn => "warn", | ||||
|             RuntimePolicyVerdict.Fail => "fail", | ||||
|             RuntimePolicyVerdict.Error => "error", | ||||
|             _ => "unknown" | ||||
|         }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user