using System.Linq; using Gott.Services; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; namespace Gott.Endpoints; public static class ModelsEndpoint { public static void MapModelsEndpoint(this IEndpointRouteBuilder app) { app.MapGet("/api/models/nvidia", HandleNvidiaModels); app.MapGet("/api/models/pollinations", HandlePollinationsModels); app.MapGet("/api/models/gemini", HandleGeminiModels); } private static IResult HandleNvidiaModels(OpenAiService openAiService) { var models = openAiService.GetNvidiaModels() .Select(m => new { id = m.Id, displayName = m.DisplayName }) .ToList(); return Results.Json(new { models }); } private static IResult HandlePollinationsModels(OpenAiService openAiService) { var models = openAiService.GetPollinationsModels() .Select(m => new { id = m.Id, displayName = m.DisplayName }) .ToList(); return Results.Json(new { models }); } private static IResult HandleGeminiModels(OpenAiService openAiService) { var models = openAiService.GetGeminiModels() .Select(m => new { id = m.Id, displayName = m.DisplayName }) .ToList(); return Results.Json(new { models }); } }