using AngleSharp; using LexWells.Infrastructure.Common; using LexWells.Infrastructure.EntityFramework; using NewsArchival.Api.Data; using NewsArchival.Core.Interfaces; using NewsArchival.Scraper; using NewsArchival.Scraper.Services; var builder = Host.CreateApplicationBuilder(args); builder.Services.AddLexWellsInfrastructure( builder.Configuration["ConnectionStrings:Redis"] ?? "localhost:6379"); builder.Services.AddLexWellsDatabase( builder.Configuration["ConnectionStrings:DefaultConnection"] ?? "Data Source=newsarchive.db"); builder.Services.AddHttpClient("NewsApi", client => { client.BaseAddress = new Uri(builder.Configuration["ScraperSettings:BaseUrl"] ?? "http://localhost:5000"); }); builder.Services.AddSingleton(BrowsingContext.New(Configuration.Default.WithDefaultLoader())); builder.Services.AddSingleton(); builder.Services.AddHostedService(); var host = builder.Build(); await host.RunAsync();