using ChapterX.Domain.Repositories; using MediatR; using Microsoft.Extensions.Logging; namespace ChapterX.Application.AISuggestion.Commands { public class AddHandler : IRequestHandler { private readonly IAISuggestionRepository _aiSuggestionRepository; private readonly ILogger _logger; public AddHandler(IAISuggestionRepository aiSuggestionRepository, ILogger logger) { _aiSuggestionRepository = aiSuggestionRepository; _logger = logger; } public async Task Handle(AddRequest request, CancellationToken cancellationToken) { var suggestion = new Domain.Entities.AISuggestion { OriginalText = request.OriginalText, SuggestedText = request.SuggestedText, StoryId = request.StoryId, Accepted = false, CreatedAt = DateTime.UtcNow }; await _aiSuggestionRepository.AddAsync(suggestion, cancellationToken); return new AddResponse(suggestion.Id); } } }