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.
43 lines
1.2 KiB
43 lines
1.2 KiB
using Flurl.Http;
|
|
using Recyclarr.TrashLib.Http;
|
|
using Recyclarr.TrashLib.Services.Sonarr.Api.Objects;
|
|
|
|
namespace Recyclarr.TrashLib.Services.Sonarr.Api;
|
|
|
|
public class SonarrApi : ISonarrApi
|
|
{
|
|
private readonly IServiceRequestBuilder _service;
|
|
|
|
public SonarrApi(IServiceRequestBuilder service)
|
|
{
|
|
_service = service;
|
|
}
|
|
|
|
public async Task<IList<SonarrTag>> GetTags()
|
|
{
|
|
return await _service.Request("tag")
|
|
.GetJsonAsync<List<SonarrTag>>();
|
|
}
|
|
|
|
public async Task<SonarrTag> CreateTag(string tag)
|
|
{
|
|
return await _service.Request("tag")
|
|
.PostJsonAsync(new {label = tag})
|
|
.ReceiveJson<SonarrTag>();
|
|
}
|
|
|
|
public async Task<IReadOnlyCollection<SonarrQualityDefinitionItem>> GetQualityDefinition()
|
|
{
|
|
return await _service.Request("qualitydefinition")
|
|
.GetJsonAsync<List<SonarrQualityDefinitionItem>>();
|
|
}
|
|
|
|
public async Task<IList<SonarrQualityDefinitionItem>> UpdateQualityDefinition(
|
|
IReadOnlyCollection<SonarrQualityDefinitionItem> newQuality)
|
|
{
|
|
return await _service.Request("qualityDefinition", "update")
|
|
.PutJsonAsync(newQuality)
|
|
.ReceiveJson<List<SonarrQualityDefinitionItem>>();
|
|
}
|
|
}
|