using GymLogAI.AI; using GymLogAI.Application.Handlers; using GymLogAI.Persistence; using GymLogAI.Worker; using Microsoft.EntityFrameworkCore; var builder = Host.CreateApplicationBuilder(args); builder.Services .AddOptions() .Bind(builder.Configuration.GetSection(WorkerOptions.SectionName)); builder.Services.AddPersistence(builder.Configuration); builder.Services.AddAiServices(builder.Configuration); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddHostedService(); var host = builder.Build(); await using (var scope = host.Services.CreateAsyncScope()) { var dbContext = scope.ServiceProvider.GetRequiredService(); await dbContext.Database.MigrateAsync(); } await host.RunAsync();