Files
FictionArchive/FictionArchive.Service.NovelService/Services/Consumers/ImportNovelCommandConsumer.cs

27 lines
880 B
C#

using FictionArchive.Service.Shared.MassTransit.Contracts.Commands;
using MassTransit;
namespace FictionArchive.Service.NovelService.Services.Consumers;
public class ImportNovelCommandConsumer : IConsumer<ImportNovelCommand>
{
private readonly ILogger<ImportNovelCommandConsumer> _logger;
private readonly NovelUpdateService _novelUpdateService;
public ImportNovelCommandConsumer(
ILogger<ImportNovelCommandConsumer> logger,
NovelUpdateService novelUpdateService)
{
_logger = logger;
_novelUpdateService = novelUpdateService;
}
public async Task Consume(ConsumeContext<ImportNovelCommand> context)
{
var command = context.Message;
_logger.LogInformation("Processing ImportNovelCommand for URL: {NovelUrl}", command.NovelUrl);
await _novelUpdateService.ImportNovel(command.NovelUrl);
}
}