diff --git a/API/Controllers/MangaController.cs b/API/Controllers/MangaController.cs
index dc67405..33c8074 100644
--- a/API/Controllers/MangaController.cs
+++ b/API/Controllers/MangaController.cs
@@ -1,5 +1,6 @@
using API.APIEndpointRecords;
using API.Schema;
+using API.Schema.Jobs;
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ModelBinding;
@@ -228,10 +229,28 @@ public class MangaController(PgsqlContext context) : Controller
///
/// Manga-ID
/// New Directory-Path
- /// NOT IMPLEMENTED
+ /// Folder is going to be moved
+ /// Error during Database Operation
[HttpPost("{MangaId}/MoveFolder")]
+ [ProducesResponseType(Status202Accepted)]
+ [ProducesResponseType(Status500InternalServerError, "text/plain")]
public IActionResult MoveFolder(string MangaId, [FromBody]string folder)
{
- throw new NotImplementedException();
+ Manga? manga = context.Manga.Find(MangaId);
+ if (manga is null)
+ return NotFound();
+ MoveFileOrFolderJob dep = manga.UpdateFolderName(TrangaSettings.downloadLocation, folder);
+ UpdateFilesDownloadedJob up = new UpdateFilesDownloadedJob(0, manga.MangaId, null, [dep.JobId]);
+
+ try
+ {
+ context.Jobs.AddRange([dep, up]);
+ context.SaveChanges();
+ return Accepted();
+ }
+ catch (Exception e)
+ {
+ return StatusCode(500, e.Message);
+ }
}
}
\ No newline at end of file