using System; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using WotBlitzStatisticsPro.Logic.AccountInformationPipeline.OperationContext; using WotBlitzStatisticsPro.Logic.Pipeline; namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations { public class CheckIfHistoryIsEmptyOperation : IOperation { private readonly ILogger _logger; public CheckIfHistoryIsEmptyOperation(ILogger logger) { _logger = logger; } public Task Invoke(IOperationContext context, Func? next) { var contextData = context.Get(); if (contextData?.History == null || contextData.History.Length == 0) { _logger.LogInformation( $"History request doesn't return any data"); return Task.CompletedTask; } return next != null ? next.Invoke(context) : Task.CompletedTask; } } }