using Flurl.Http; using Recyclarr.TrashGuide.CustomFormat; namespace Recyclarr.ServarrApi.CustomFormat; public class CustomFormatApiService(IServarrRequestBuilder service) : ICustomFormatApiService { private IFlurlRequest Request(params object[] path) { return service.Request(["customformat", ..path]); } public async Task> GetCustomFormats(CancellationToken ct) { return await Request() .GetJsonAsync>(cancellationToken: ct); } public async Task CreateCustomFormat(CustomFormatData cf, CancellationToken ct) { return await Request() .PostJsonAsync(cf, cancellationToken: ct) .ReceiveJson(); } public async Task UpdateCustomFormat(CustomFormatData cf, CancellationToken ct) { await Request(cf.Id) .PutJsonAsync(cf, cancellationToken: ct); } public async Task DeleteCustomFormat(int customFormatId, CancellationToken ct) { await Request(customFormatId) .DeleteAsync(cancellationToken: ct); } }