using ChapterX.Domain.Repositories; using MediatR; using Microsoft.Extensions.Logging; namespace ChapterX.Application.AISuggestion.Commands { public class DeleteHandler : IRequestHandler { private readonly IAISuggestionRepository _aiSuggestionRepository; private readonly ILogger _logger; public DeleteHandler(IAISuggestionRepository aiSuggestionRepository, ILogger logger) { _aiSuggestionRepository = aiSuggestionRepository; _logger = logger; } public async Task Handle(DeleteRequest request, CancellationToken cancellationToken) { var suggestion = await _aiSuggestionRepository.GetByIdAsync(request.Id, cancellationToken); if (suggestion is null) return new DeleteResponse(false); await _aiSuggestionRepository.DeleteAsync(suggestion, cancellationToken); return new DeleteResponse(true); } } }