using Managing.Application.Workers;
using Managing.Application.Workers.Abstractions;
using static Managing.Common.Enums;

namespace Managing.Api.Workers.Workers;

public class NoobiesboardWorker : BaseWorker<FeeWorker>
{
    private readonly IStatisticService _statisticService;
    private static readonly WorkerType _workerType = WorkerType.Noobiesboard;

    public NoobiesboardWorker(
        ILogger<FeeWorker> logger,
        IStatisticService statisticService,
        IWorkerService workerService) : base(
        _workerType,
        logger,
        TimeSpan.FromHours(24),
        workerService
        )
    {
        _statisticService = statisticService;
    }

    protected override async Task Run(CancellationToken cancellationToken)
    {
        await _statisticService.UpdateNoobiesboard();
    }
}
