feat(push): add service-owned firebase channels and delivery

Add push contracts, provider delivery and channel diagnostics. Link email channels to services and document migration and validation.

Ref: IT-1074
This commit is contained in:
2026-10-24 12:31:35 +03:00
parent b30dba93e8
commit 1631786ce2
105 changed files with 3838 additions and 147 deletions
@@ -20,5 +20,18 @@ builder.Services.Configure<RabbitMqSettings>(
builder.Services.AddHostedService<SendEmailConsumer>();
var pushSettings = builder.Configuration.GetSection("FcmPush")
.Get<HrynCo.NotificationService.Worker.Services.Push.FcmPushSettings>() ?? new();
builder.Services.AddSingleton(pushSettings);
if (pushSettings.Enabled)
{
builder.Services.AddScoped<HrynCo.NotificationService.Worker.Services.Push.IFirebasePushClient,
HrynCo.NotificationService.Worker.Services.Push.FirebasePushClient>();
builder.Services.AddScoped<HrynCo.NotificationService.Worker.Services.Push.IPushSender,
HrynCo.NotificationService.Worker.Services.Push.FcmPushSender>();
builder.Services.AddScoped<HrynCo.NotificationService.Worker.Services.Push.PushDeliveryService>();
builder.Services.AddHostedService<SendPushConsumer>();
}
var host = builder.Build();
host.Run();