diff --git a/src/core/DigitalData.MessagingService.Application/Common/Mappings/EmailMappingProfile.cs b/src/core/DigitalData.MessagingService.Application/Common/Mappings/EmailMappingProfile.cs index 391de3c..2baf3ac 100644 --- a/src/core/DigitalData.MessagingService.Application/Common/Mappings/EmailMappingProfile.cs +++ b/src/core/DigitalData.MessagingService.Application/Common/Mappings/EmailMappingProfile.cs @@ -11,9 +11,9 @@ public class EmailMappingProfile : Profile { public EmailMappingProfile() { - // SendEmailCommand -> Email + // PublishEmailCommand -> Email // Sender is resolved via MediatR in the handler and set separately after mapping. - CreateMap() + CreateMap() .ForMember(dest => dest.Sender, opt => opt.Ignore()) .ForMember(dest => dest.Attachments, opt => opt.MapFrom(src => src.Attachments)); } diff --git a/src/core/DigitalData.MessagingService.Application/EmailSending/Commands/SendEmailCommand.cs b/src/core/DigitalData.MessagingService.Application/EmailSending/Commands/PublishEmailCommand.cs similarity index 82% rename from src/core/DigitalData.MessagingService.Application/EmailSending/Commands/SendEmailCommand.cs rename to src/core/DigitalData.MessagingService.Application/EmailSending/Commands/PublishEmailCommand.cs index da54f6f..6edb84b 100644 --- a/src/core/DigitalData.MessagingService.Application/EmailSending/Commands/SendEmailCommand.cs +++ b/src/core/DigitalData.MessagingService.Application/EmailSending/Commands/PublishEmailCommand.cs @@ -10,7 +10,7 @@ namespace DigitalData.MessagingService.Application.EmailSending.Commands; /// /// Command to send an email (enqueue to RabbitMQ) /// -public record SendEmailCommand : IRequest +public record PublishEmailCommand : IRequest { public required GetSenderQuery Sender { get; init; } @@ -41,17 +41,17 @@ public record SendEmailCommand : IRequest /// Returns a new command instance with the supplied attachments. /// Called by the controller after resolving uploaded files. /// - public SendEmailCommand WithAttachments(IEnumerable attachments) + public PublishEmailCommand WithAttachments(IEnumerable attachments) => this with { Attachments = attachments }; } /// -/// Handler for SendEmailCommand +/// Handler for PublishEmailCommand /// Resolves the sender account via MediatR, maps to SendingEmailEvent and enqueues to RabbitMQ /// -public class SendEmailCommandHandler(ISender Sender, ISendingEmailPublisher Publisher, IMapper Mapper) : IRequestHandler +public class PublishEmailCommandHandler(ISender Sender, ISendingEmailPublisher Publisher, IMapper Mapper) : IRequestHandler { - public async Task Handle(SendEmailCommand request, CancellationToken cancellationToken) + public async Task Handle(PublishEmailCommand request, CancellationToken cancellationToken) { var senderAccount = await Sender.Send(request.Sender, cancellationToken) ?? throw new NotFoundException( diff --git a/src/core/DigitalData.MessagingService.Application/EmailSending/Validators/SendEmailCommandValidator.cs b/src/core/DigitalData.MessagingService.Application/EmailSending/Validators/SendEmailCommandValidator.cs index 2ab5ad3..cadd5c2 100644 --- a/src/core/DigitalData.MessagingService.Application/EmailSending/Validators/SendEmailCommandValidator.cs +++ b/src/core/DigitalData.MessagingService.Application/EmailSending/Validators/SendEmailCommandValidator.cs @@ -4,11 +4,11 @@ using FluentValidation; namespace DigitalData.MessagingService.Application.EmailSending.Validators; /// -/// Validator for SendEmailCommand +/// Validator for PublishEmailCommand /// -public class SendEmailCommandValidator : AbstractValidator +public class PublishEmailCommandValidator : AbstractValidator { - public SendEmailCommandValidator() + public PublishEmailCommandValidator() { RuleFor(x => x.Recipients) .NotEmpty() diff --git a/src/presentation/DigitalData.MessagingService.API/Controllers/EmailsController.cs b/src/presentation/DigitalData.MessagingService.API/Controllers/EmailsController.cs index b21d5ba..399d9e7 100644 --- a/src/presentation/DigitalData.MessagingService.API/Controllers/EmailsController.cs +++ b/src/presentation/DigitalData.MessagingService.API/Controllers/EmailsController.cs @@ -26,7 +26,7 @@ public class EmailsController(IMediator mediator) : ControllerBase [ProducesResponseType(StatusCodes.Status202Accepted)] [ProducesResponseType(StatusCodes.Status400BadRequest)] public async Task SendEmail( - [FromForm] SendEmailCommand command, + [FromForm] PublishEmailCommand command, IFormFileCollection? attachments, CancellationToken cancellationToken) {