refactor: rename ReadEmailQuery to ReadEmailViaImapQuery, rename PublishEmailCommand to PublishEmailViaSmtpCommand

This commit is contained in:
2026-08-17 17:03:59 +02:00
parent 993d9cfea0
commit acf40684f8
6 changed files with 20 additions and 20 deletions

View File

@@ -16,7 +16,7 @@ public class EmailMappingProfile : Profile
{
// PublishEmailCommand -> Email
// Sender is resolved via MediatR in the handler and set separately after mapping.
CreateMap<PublishEmailCommand, EmailContext>()
CreateMap<PublishEmailViaSmtpCommand, EmailContext>()
.ForMember(dest => dest.Sender, opt => opt.Ignore())
.ForMember(dest => dest.Attachments, opt => opt.MapFrom(src => src.Attachments));

View File

@@ -15,7 +15,7 @@ namespace DigitalData.MessagingService.Application.EmailReceiving.Queries;
/// <summary>
/// Query to fetch emails from an IMAP mailbox.
/// </summary>
public record ReadEmailQuery : IRequest<ReadEmailQueryResponse>
public record ReadEmailViaImapQuery : IRequest<ReadEmailQueryResponse>
{
/// <summary>
/// Identifies the email account to use.
@@ -28,9 +28,9 @@ public record ReadEmailQuery : IRequest<ReadEmailQueryResponse>
public MailSearchFilter Mail { get; init; } = new();
}
public class ReadEmailQueryHandler(IMapper Mapper, ILogger<ReadEmailQueryHandler> Logger, IRepository<EmailAccount> EmailAccountRepo, IReceivedEmailRepository MailRepo, IImapEmailService imapEmailService) : IRequestHandler<ReadEmailQuery, ReadEmailQueryResponse>
public class ReadEmailViaImapQueryHandler(IMapper Mapper, ILogger<ReadEmailViaImapQueryHandler> Logger, IRepository<EmailAccount> EmailAccountRepo, IReceivedEmailRepository MailRepo, IImapEmailService imapEmailService) : IRequestHandler<ReadEmailViaImapQuery, ReadEmailQueryResponse>
{
public async Task<ReadEmailQueryResponse> Handle(ReadEmailQuery request, CancellationToken cancellationToken)
public async Task<ReadEmailQueryResponse> Handle(ReadEmailViaImapQuery request, CancellationToken cancellationToken)
{
var accounts = await EmailAccountRepo.FindAsync(request.Account.Id is int id ? x => x.Id == id : x => x.Username == request.Account.Username, cancellationToken: cancellationToken);

View File

@@ -5,9 +5,9 @@ using FluentValidation;
namespace DigitalData.MessagingService.Application.EmailReceiving.Validators;
/// <summary>
/// Validates a <see cref="ReadEmailQuery"/> before it is handled by <see cref="ReadEmailQueryHandler"/>.
/// Validates a <see cref="ReadEmailViaImapQuery"/> before it is handled by <see cref="ReadEmailViaImapQueryHandler"/>.
/// </summary>
public class FetchEmailsQueryValidator : AbstractValidator<ReadEmailQuery>
public class FetchEmailsQueryValidator : AbstractValidator<ReadEmailViaImapQuery>
{
public FetchEmailsQueryValidator()
{

View File

@@ -15,7 +15,7 @@ namespace DigitalData.MessagingService.Application.EmailSending.Commands;
/// <summary>
/// Command to send an email (enqueue to RabbitMQ)
/// </summary>
public record PublishEmailCommand : IRequest<Guid>
public record PublishEmailViaSmtpCommand : IRequest<Guid>
{
public required GetEmailAccountQuery Sender { get; init; }
@@ -46,7 +46,7 @@ public record PublishEmailCommand : IRequest<Guid>
/// Returns a new command instance with the supplied attachments.
/// Called by the controller after resolving uploaded files.
/// </summary>
public PublishEmailCommand WithAttachments(IEnumerable<EmailAttachmentDto> attachments)
public PublishEmailViaSmtpCommand WithAttachments(IEnumerable<EmailAttachmentDto> attachments)
=> this with { Attachments = attachments };
}
@@ -54,9 +54,9 @@ public record PublishEmailCommand : IRequest<Guid>
/// Handler for PublishEmailCommand
/// Resolves the sender account via MediatR, maps to SendingEmailEvent and enqueues to RabbitMQ
/// </summary>
public class PublishEmailCommandHandler(IRepository<EmailAccount> Repo, ISendingEmailPublisher Publisher, IMapper Mapper, ILogger<PublishEmailCommandHandler> Logger) : IRequestHandler<PublishEmailCommand, Guid>
public class PublishEmailViaSmtpCommandHandler(IRepository<EmailAccount> Repo, ISendingEmailPublisher Publisher, IMapper Mapper, ILogger<PublishEmailViaSmtpCommandHandler> Logger) : IRequestHandler<PublishEmailViaSmtpCommand, Guid>
{
public async Task<Guid> Handle(PublishEmailCommand request, CancellationToken cancellationToken)
public async Task<Guid> Handle(PublishEmailViaSmtpCommand request, CancellationToken cancellationToken)
{
var senderAccounts = await Repo.FindAsync(request.Sender.Id is int id ? x => x.Id == id : x => x.Username == request.Sender.Username, cancellationToken: cancellationToken);

View File

@@ -7,7 +7,7 @@ namespace DigitalData.MessagingService.Application.EmailSending.Validators;
/// <summary>
/// Validator for PublishEmailCommand
/// </summary>
public class PublishEmailCommandValidator : AbstractValidator<PublishEmailCommand>
public class PublishEmailCommandValidator : AbstractValidator<PublishEmailViaSmtpCommand>
{
public PublishEmailCommandValidator()
{