using GeradoresService; using GeradoresWS; using Scalar.AspNetCore; var builder = WebApplication.CreateBuilder(args); builder.Services.AddSingleton(); builder.Services.AddProblemDetails(); builder.Services.AddHealthChecks(); builder.Services.AddOpenApi(options => { options.AddDocumentTransformer((document, _, _) => { document.Info.Title = "FactoryId API"; document.Info.Description = "Geradores e validadores de identificadores portugueses (NIF, NISS, CC, IBAN, …) para testes."; document.Info.Contact = new() { Name = "Marco Santos" }; return Task.CompletedTask; }); }); // API pública, só de leitura e sem credenciais: qualquer origem pode fazer GET. builder.Services.AddCors(options => options.AddDefaultPolicy(policy => policy.AllowAnyOrigin().WithMethods("GET").AllowAnyHeader())); var app = builder.Build(); app.UseExceptionHandler(); app.UseStatusCodePages(); app.UseCors(); app.MapOpenApi(); app.MapScalarApiReference("/docs", options => options.WithTitle("FactoryId API")); app.MapGet("/", () => Results.Redirect("/docs")).ExcludeFromDescription(); app.MapHealthChecks("/health"); app.MapGeneratorEndpoints(); app.Run(); public partial class Program;