using AutoMapper; using DigitalData.EmailProfiler.Application.Common.Dtos; using DigitalData.EmailProfiler.Application.Interfaces.Repositories; using DigitalData.EmailProfiler.Domain.Entities; using MediatR; namespace DigitalData.EmailProfiler.Application.EmailAccounts.Queries; /// /// Query to get email account by ID. /// public record GetEmailAccountByIdQuery(int Id) : IRequest; public class GetEmailAccountByIdQueryHandler( IRepository repository, IMapper mapper) : IRequestHandler { public async Task Handle( GetEmailAccountByIdQuery request, CancellationToken cancellationToken) { var account = await repository.GetByIdAsync(request.Id, cancellationToken); return account != null ? mapper.Map(account) : null; } }