30 lines
1019 B
C#
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);
|
|
}
|
|
}
|