You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
using Recyclarr.Config.Models;
|
|
|
|
using Recyclarr.ServarrApi.Dto;
|
|
|
|
using Recyclarr.ServarrApi.Services;
|
|
|
|
|
|
|
|
namespace Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
|
|
|
|
|
|
|
|
public class TagApiPersistencePhase
|
|
|
|
{
|
|
|
|
private readonly ILogger _log;
|
|
|
|
private readonly ServiceTagCache _cache;
|
|
|
|
private readonly ISonarrTagApiService _api;
|
|
|
|
|
|
|
|
public TagApiPersistencePhase(
|
|
|
|
ILogger log,
|
|
|
|
ServiceTagCache cache,
|
|
|
|
ISonarrTagApiService api)
|
|
|
|
{
|
|
|
|
_log = log;
|
|
|
|
_cache = cache;
|
|
|
|
_api = api;
|
|
|
|
}
|
|
|
|
|
|
|
|
public async Task Execute(IServiceConfiguration config, IEnumerable<string> tagsToCreate)
|
|
|
|
{
|
|
|
|
var createdTags = new List<SonarrTag>();
|
|
|
|
foreach (var tag in tagsToCreate)
|
|
|
|
{
|
|
|
|
_log.Debug("Creating Tag: {Tag}", tag);
|
|
|
|
createdTags.Add(await _api.CreateTag(config, tag));
|
|
|
|
}
|
|
|
|
|
|
|
|
_cache.AddTags(createdTags);
|
|
|
|
}
|
|
|
|
}
|