using Api.Database; using Api.Services.Implementation; using Api.Services.Interfaces; using Microsoft.EntityFrameworkCore; using Scalar.AspNetCore; var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy("AllowBlazorFrontends", policy => { policy.WithOrigins("https://sanstudent.aherman.eu", "https://sanstudent.eu", "https://www.sanstudent.eu", "https://localhost:7001", "https://localhost:7000" ) .AllowAnyHeader() .AllowAnyMethod(); }); }); builder.Services.AddDbContext(options => { options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")); }); builder.Services.AddStackExchangeRedisCache(options => { options.Configuration = builder.Configuration.GetConnectionString("RedisCache"); options.InstanceName = "SanStudentApi_"; }); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddControllers(); builder.Services.AddOpenApi(); var app = builder.Build(); app.UseCors("AllowBlazorFrontends"); if (app.Environment.IsDevelopment()) { app.MapOpenApi(); app.MapScalarApiReference(options => { options.Title = "SanStudent API"; options.Theme = ScalarTheme.BluePlanet; options.DefaultHttpClient = new(ScalarTarget.CSharp, ScalarClient.HttpClient); options.CustomCss = ""; options.ShowSidebar = true; }); } app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();