using Musify.Infrastructure.Observability; using Scalar.AspNetCore; using Musify.Api.Endpoints; using Musify.Api.Extensions; var builder = WebApplication.CreateBuilder(); const string devCorsPolicy = "dev-cors"; builder.Services .AddApplicationServices(builder.Configuration) .AddObservability(builder.Configuration); builder.Services.AddProblemDetails(); if (builder.Environment.IsDevelopment()) { builder.Services.AddCors(options => options.AddPolicy(devCorsPolicy, policy => policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod())); } var app = builder.Build(); app.UseExceptionHandler(); if (app.Environment.IsDevelopment()) { app.UseCors(devCorsPolicy); app.MapOpenApi(); app.MapScalarApiReference(); } app.UseAuthentication(); app.UseAuthorization(); app .MapPlayListEndpoints() .MapTrackEndpoints() .MapUserEndpoints(); app.Run();