From 1b4ba8b6a0d98d72e6a5d1994e749f8dc77dc660 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Mon, 30 Sep 2024 23:29:53 +0200 Subject: [PATCH] [backend/api] Add admin endpoint to manually trigger media cleanup --- Iceshrimp.Backend/Controllers/Web/AdminController.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Iceshrimp.Backend/Controllers/Web/AdminController.cs b/Iceshrimp.Backend/Controllers/Web/AdminController.cs index 837b7c52..6d6729b2 100644 --- a/Iceshrimp.Backend/Controllers/Web/AdminController.cs +++ b/Iceshrimp.Backend/Controllers/Web/AdminController.cs @@ -12,6 +12,7 @@ using Iceshrimp.Backend.Core.Federation.ActivityStreams.Types; using Iceshrimp.Backend.Core.Helpers; using Iceshrimp.Backend.Core.Middleware; using Iceshrimp.Backend.Core.Services; +using Iceshrimp.Backend.Core.Tasks; using Iceshrimp.Shared.Schemas.Web; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; @@ -177,6 +178,14 @@ public class AdminController( await relaySvc.UnsubscribeFromRelay(relay); } + [HttpPost("drive/prune-expired-media")] + [ProducesResults(HttpStatusCode.OK)] + public async Task PruneExpiredMedia([FromServices] IServiceScopeFactory factory) + { + await using var scope = factory.CreateAsyncScope(); + await new MediaCleanupTask().Invoke(scope.ServiceProvider); + } + [UseNewtonsoftJson] [HttpGet("activities/notes/{id}")] [OverrideResultType]