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 CreateReleaseProfile( IServiceConfiguration config, SonarrReleaseProfile profile) { return await _service.Request(config, "releaseprofile") .PostJsonAsync(profile) .ReceiveJson(); } public async Task> GetReleaseProfiles(IServiceConfiguration config) { return await _service.Request(config, "releaseprofile") .GetJsonAsync>(); } public async Task DeleteReleaseProfile(IServiceConfiguration config, int releaseProfileId) { await _service.Request(config, "releaseprofile", releaseProfileId) .DeleteAsync(); } }