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.
recyclarr/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiPersistencePhase.cs

34 lines
858 B

using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Tag;
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);
}
}