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/ReleaseProfile/Api/ReleaseProfileApiService.cs

44 lines
1.4 KiB

using Flurl.Http;
using Recyclarr.Cli.Pipelines.ReleaseProfile.Api.Objects;
using Recyclarr.TrashLib.Config;
using Recyclarr.TrashLib.Http;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.Api;
public class ReleaseProfileApiService : IReleaseProfileApiService
{
private readonly IServiceRequestBuilder _service;
public ReleaseProfileApiService(IServiceRequestBuilder service)
{
_service = service;
}
public async Task UpdateReleaseProfile(IServiceConfiguration config, SonarrReleaseProfile profile)
{
await _service.Request(config, "releaseprofile", profile.Id)
.PutJsonAsync(profile);
}
public async Task<SonarrReleaseProfile> CreateReleaseProfile(
IServiceConfiguration config,
SonarrReleaseProfile profile)
{
return await _service.Request(config, "releaseprofile")
.PostJsonAsync(profile)
.ReceiveJson<SonarrReleaseProfile>();
}
public async Task<IList<SonarrReleaseProfile>> GetReleaseProfiles(IServiceConfiguration config)
{
return await _service.Request(config, "releaseprofile")
.GetJsonAsync<List<SonarrReleaseProfile>>();
}
public async Task DeleteReleaseProfile(IServiceConfiguration config, int releaseProfileId)
{
await _service.Request(config, "releaseprofile", releaseProfileId)
.DeleteAsync();
}
}