using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; using ProofOfConcept.Services; using ProofOfConcept.Utilities; var builder = WebApplication.CreateSlimBuilder(args); // Load static web assets manifest (referenced libs + your wwwroot) builder.WebHost.UseStaticWebAssets(); // builder.Services.ConfigureHttpJsonOptions(options => { options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default); }); // Add services builder.Services.AddOpenApi(); builder.Services.AddMediator(); builder.Services.AddMemoryCache(); builder.Services.AddHybridCache(); builder.Services.AddHttpClient(); builder.Services.AddRazorPages(); // Add own services builder.Services.AddSingleton(); builder.Services.AddTransient(); // Add hosted services builder.Services.AddHostedService(); builder.Services.AddHostedService(); //Build app WebApplication app = builder.Build(); if (app.Environment.IsDevelopment()) { app.MapOpenApi(); app.MapGet("/GetPartnerAuthenticationToken", ([FromServices] TeslaAuthenticatorService service) => service.AcquirePartnerAuthenticationTokenAsync()); app.MapGet("/CheckRegisteredApplication", ([FromServices] TeslaAuthenticatorService service) => service.CheckApplicationRegistrationAsync()); app.MapGet("/RegisterApplication", ([FromServices] TeslaAuthenticatorService service) => service.RegisterApplicationAsync()); } //Map static assets app.MapStaticAssets(); app.MapRazorPages(); app.Run();