using FictionArchive.Service.NovelService.Services; using FictionArchive.Service.Shared.Contracts.Events; using MassTransit; using Microsoft.Extensions.Logging; namespace FictionArchive.Service.NovelService.Consumers; public class NovelImportRequestedConsumer : IConsumer { private readonly ILogger _logger; private readonly NovelUpdateService _novelUpdateService; public NovelImportRequestedConsumer( ILogger logger, NovelUpdateService novelUpdateService) { _logger = logger; _novelUpdateService = novelUpdateService; } public async Task Consume(ConsumeContext context) { var message = context.Message; _logger.LogInformation("Starting novel import for {NovelUrl} with ImportId {ImportId}", message.NovelUrl, message.ImportId); await _novelUpdateService.ImportNovel(message.ImportId, message.NovelUrl); } }