using FictionArchive.Service.Shared.Extensions; namespace FictionArchive.API; public class Program { public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); builder.Services.AddHealthChecks(); #region Fusion Gateway builder.Services.AddHttpClient("Fusion") .AddHeaderPropagation(opt => { opt.Headers.Add("Authorization"); }); builder.Services .AddFusionGatewayServer() .ConfigureFromFile("gateway.fgp") .CoreBuilder.ApplySaneDefaults(); #endregion // Add authentication builder.Services.AddOidcAuthentication(builder.Configuration); builder.Services.AddCors(options => { options.AddPolicy("AllowFictionArchiveOrigins", policyBuilder => { policyBuilder.WithOrigins("https://fictionarchive.orfl.xyz", "http://localhost:5173") .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); }); var app = builder.Build(); app.UseCors("AllowFictionArchiveOrigins"); app.MapHealthChecks("/healthz"); app.UseHeaderPropagation(); app.MapGraphQL(); app.RunWithGraphQLCommands(args); } }