cloutier--bird.makeup/src/BirdsiteLive/Services/FederationService.cs

31 lines
1,021 B
C#
Raw Normal View History

2020-07-07 01:33:52 -04:00
using System;
2021-01-22 20:17:22 -05:00
using System.Linq;
2020-07-07 01:33:52 -04:00
using System.Threading;
using System.Threading.Tasks;
2021-01-22 20:17:22 -05:00
using BirdsiteLive.DAL;
2020-07-07 21:03:20 -04:00
using BirdsiteLive.DAL.Contracts;
2020-07-16 01:19:41 -04:00
using BirdsiteLive.Pipeline;
2020-07-07 01:33:52 -04:00
using Microsoft.Extensions.Hosting;
namespace BirdsiteLive.Services
{
public class FederationService : BackgroundService
{
2021-01-22 20:17:22 -05:00
private readonly IDatabaseInitializer _databaseInitializer;
2020-07-16 01:19:41 -04:00
private readonly IStatusPublicationPipeline _statusPublicationPipeline;
2020-07-07 01:33:52 -04:00
#region Ctor
2021-01-22 20:17:22 -05:00
public FederationService(IDatabaseInitializer databaseInitializer, IStatusPublicationPipeline statusPublicationPipeline)
2020-07-07 01:33:52 -04:00
{
2021-01-22 20:17:22 -05:00
_databaseInitializer = databaseInitializer;
2020-07-16 01:19:41 -04:00
_statusPublicationPipeline = statusPublicationPipeline;
2020-07-07 01:33:52 -04:00
}
#endregion
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
2021-01-22 21:05:01 -05:00
await _databaseInitializer.InitAndMigrateDbAsync();
2020-07-16 01:19:41 -04:00
await _statusPublicationPipeline.ExecuteAsync(stoppingToken);
2020-07-07 01:33:52 -04:00
}
}
}