diff --git a/backend/Program.cs b/backend/Program.cs new file mode 100644 index 0000000..c45c355 --- /dev/null +++ b/backend/Program.cs @@ -0,0 +1,38 @@ +using ControlCenter.Api.Data; +using ControlCenter.Api.Hubs; +using Microsoft.EntityFrameworkCore; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +builder.Services.AddOpenApi(); + +// Register SignalR for real-time agent status updates +builder.Services.AddSignalR(); + +// Register DbContext with PostgreSQL +builder.Services.AddDbContext(options => +{ + var connectionString = builder.Configuration.GetConnectionString("DefaultConnection") + ?? "Host=localhost;Database=control_center;Username=postgres;Password=postgres"; + + options.UseNpgsql(connectionString, npgsqlOptions => + { + npgsqlOptions.MigrationsAssembly(typeof(AppDbContext).Assembly.FullName); + }); +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.MapOpenApi(); +} + +app.UseHttpsRedirection(); + +// Map SignalR hubs +app.MapHub("/hubs/agent-status"); + +app.Run(); \ No newline at end of file