using Microsoft.AspNetCore.Mvc; using StellaOps.Policy.Engine.AdvisoryAI; namespace StellaOps.Policy.Engine.Endpoints; public static class AdvisoryAiKnobsEndpoint { public static IEndpointRouteBuilder MapAdvisoryAiKnobs(this IEndpointRouteBuilder routes) { routes.MapGet("/policy/advisory-ai/knobs", GetAsync) .WithName("PolicyEngine.AdvisoryAI.Knobs.Get"); routes.MapPut("/policy/advisory-ai/knobs", PutAsync) .WithName("PolicyEngine.AdvisoryAI.Knobs.Put"); return routes; } private static IResult GetAsync(AdvisoryAiKnobsService service) { var profile = service.Get(); return Results.Json(profile); } private static IResult PutAsync( [FromBody] IReadOnlyList knobs, AdvisoryAiKnobsService service) { if (knobs is null || knobs.Count == 0) { return Results.BadRequest(new { message = "knobs are required" }); } var profile = service.Set(knobs); return Results.Json(profile); } }