2021-08-30 12:02:30 +02:00
|
|
|
using FluentValidation;
|
|
|
|
|
using zero.Core.Entities;
|
|
|
|
|
using zero.Core.Extensions;
|
|
|
|
|
using zero.Core.Mails;
|
2020-11-19 14:57:00 +01:00
|
|
|
using zero.Core.Validation;
|
2020-11-13 12:24:07 +01:00
|
|
|
|
2020-11-19 14:57:00 +01:00
|
|
|
namespace zero.Core.Collections
|
2020-11-13 12:24:07 +01:00
|
|
|
{
|
2021-05-04 17:23:52 +02:00
|
|
|
public class MailTemplateValidator : ZeroValidator<MailTemplate>
|
2020-11-13 12:24:07 +01:00
|
|
|
{
|
2021-08-30 12:02:30 +02:00
|
|
|
public MailTemplateValidator(IMailDispatcher dispatcher = null)
|
2020-11-13 12:24:07 +01:00
|
|
|
{
|
2021-08-30 12:02:30 +02:00
|
|
|
RuleFor(x => x.SenderEmail).Email();
|
|
|
|
|
|
|
|
|
|
if (dispatcher != null)
|
|
|
|
|
{
|
|
|
|
|
RuleFor(x => x.SenderEmail).MustAsync(async (value, ct) =>
|
|
|
|
|
{
|
|
|
|
|
return await dispatcher.IsSenderSupported(value);
|
|
|
|
|
}).WithMessage("@mailTemplate.errors.senderNotAllowed");
|
|
|
|
|
}
|
2020-11-13 12:24:07 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|