Files
agrynco 1631786ce2 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
2026-10-24 12:31:35 +03:00

24 lines
1.1 KiB
C#

using HrynCo.NotificationService.DAL.Abstract.Providers;
namespace HrynCo.NotificationService.Web.Controllers.Api.EmailChannels;
internal static class EmailChannelMapping
{
public static SmtpChannelSettings ToSettings(SmtpChannelSettingsDto settings) => new()
{
Host = settings.Host, Port = settings.Port, Username = settings.Username, Password = settings.Password,
UseSsl = settings.UseSsl, FromEmail = settings.FromEmail, FromName = settings.FromName
};
public static EmailChannelDto Map(EmailChannel channel)
{
var smtp = (SmtpChannelSettings)channel.Settings;
return new EmailChannelDto(channel.Id, channel.ServiceId, channel.ServiceName, channel.Priority, channel.EmailChannelType,
new SmtpChannelSettingsDto
{
Host = smtp.Host, Port = smtp.Port, Username = smtp.Username, Password = smtp.Password,
UseSsl = smtp.UseSsl, FromEmail = smtp.FromEmail, FromName = smtp.FromName
}, channel.DailyLimit, channel.MonthlyLimit, channel.WarnThresholdPercent, channel.IsActive, channel.Created, channel.Updated);
}
}