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.
38 lines
1.1 KiB
38 lines
1.1 KiB
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<IList<CustomFormatData>> GetCustomFormats(CancellationToken ct)
|
|
{
|
|
return await Request()
|
|
.GetJsonAsync<IList<CustomFormatData>>(cancellationToken: ct);
|
|
}
|
|
|
|
public async Task<CustomFormatData?> CreateCustomFormat(CustomFormatData cf, CancellationToken ct)
|
|
{
|
|
return await Request()
|
|
.PostJsonAsync(cf, cancellationToken: ct)
|
|
.ReceiveJson<CustomFormatData>();
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|