41 lines
1.6 KiB
C#
41 lines
1.6 KiB
C#
using PostFundManagement.Application.Extensions;
|
|
using PostFundManagement.Domain.Abstractions;
|
|
using PostFundManagement.Domain.Mediator;
|
|
using PostFundManagement.Infrastructure.Database.Services;
|
|
using PostFundManagement.Jobs;
|
|
|
|
var builder = Host.CreateApplicationBuilder(args);
|
|
|
|
builder.Services.AddFeatureManagement();
|
|
|
|
builder.Services.AddSharedServices();
|
|
builder.Services.AddHostedService<JobsWorker>();
|
|
builder.Services.AddRegisterServicesWithCaching(builder.Configuration);
|
|
builder.Services.AddEndpointAndServiceCaching(builder.Configuration);
|
|
builder.Services.AddTransient<ITenantContextService, HeadlessTenantContextService>();
|
|
builder.Services.AddSkorubaApiService(builder.Configuration);
|
|
builder.Services.AddHttpContextAccessor();
|
|
|
|
builder.Services.AddMediator();
|
|
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>));
|
|
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(LoggingPipelineBehavior<,>));
|
|
|
|
builder.Services.AddQuartzScheduler(DefaultSchedulerName, builder.Configuration);
|
|
builder.Services.AddEmailServices(builder.Configuration);
|
|
builder.Services.AddHashServices(builder.Configuration);
|
|
builder.Services.AddGarageS3(builder.Configuration);
|
|
|
|
builder.Services.AddHttpClient();
|
|
builder.Services.AddDataProtectionDatabase(builder.Configuration);
|
|
builder.Services.AddApplicationDbContext(builder.Configuration);
|
|
|
|
var host = builder.Build();
|
|
|
|
var schedulerFactory = host.Services.GetRequiredService<ISchedulerFactory>();
|
|
var scheduler = await schedulerFactory.GetScheduler();
|
|
|
|
if (scheduler!.Status != SchedulerStatus.Running)
|
|
await scheduler.Start();
|
|
|
|
host.Run();
|