Files
FictionArchive/FictionArchive.Service.NovelService/Consumers/NovelImportRequestedConsumer.cs

30 lines
1019 B
C#

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<INovelImportRequested>
{
private readonly ILogger<NovelImportRequestedConsumer> _logger;
private readonly NovelUpdateService _novelUpdateService;
public NovelImportRequestedConsumer(
ILogger<NovelImportRequestedConsumer> logger,
NovelUpdateService novelUpdateService)
{
_logger = logger;
_novelUpdateService = novelUpdateService;
}
public async Task Consume(ConsumeContext<INovelImportRequested> 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);
}
}