using DigitalData.EmailProfiler.Application.Interfaces.Repositories; using DigitalData.EmailProfiler.Domain.Entities; using MediatR; namespace DigitalData.EmailProfiler.Application.EmailProfiles.Commands; /// /// Command to update an existing email profile. /// public record UpdateEmailProfileCommand : IRequest { public int Id { get; init; } public string ProfileName { get; init; } = string.Empty; public string? ValidationSql { get; init; } public int PollIntervalMinutes { get; init; } public bool IsActive { get; init; } } public class UpdateEmailProfileCommandHandler(IRepository repository) : IRequestHandler { public async Task Handle(UpdateEmailProfileCommand request, CancellationToken cancellationToken) { await repository.UpdateSingleAsync(p => p.Id == request.Id, request, cancellationToken); return request.Id; } }