Files
2026-04-19 13:12:04 +03:00

27 lines
913 B
C#

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