cleanup artwork cache folder (#2779)

* cleanup artwork cache folder

* fixes

* ignore watermarks that no longer exist on the file system
This commit is contained in:
Jason Dove
2026-01-16 13:38:31 -06:00
committed by GitHub
parent a2d023ee69
commit 35d24ffea6
8 changed files with 257 additions and 36 deletions
@@ -1,3 +1,5 @@
using System.Threading.Channels;
using ErsatzTV.Application;
using ErsatzTV.Application.Maintenance;
using ErsatzTV.Core;
using MediatR;
@@ -7,7 +9,7 @@ namespace ErsatzTV.Controllers.Api;
[ApiController]
[EndpointGroupName("general")]
public class MaintenanceController(IMediator mediator)
public class MaintenanceController(IMediator mediator, ChannelWriter<IBackgroundServiceRequest> workerChannel)
{
[HttpGet("/api/maintenance/gc")]
[Tags("Maintenance")]
@@ -36,4 +38,13 @@ public class MaintenanceController(IMediator mediator)
return new OkResult();
}
[HttpPost("/api/maintenance/clean_artwork")]
[Tags("Maintenance")]
[EndpointSummary("Clean artwork cache")]
public async Task<IActionResult> CleanArtwork(CancellationToken cancellationToken)
{
await workerChannel.WriteAsync(new DeleteOrphanedArtwork(), cancellationToken);
return new OkResult();
}
}