diff --git a/Jellyfin.Api/Controllers/LibraryStructureController.cs b/Jellyfin.Api/Controllers/LibraryStructureController.cs
index 7838c2f61c..55000fc91e 100644
--- a/Jellyfin.Api/Controllers/LibraryStructureController.cs
+++ b/Jellyfin.Api/Controllers/LibraryStructureController.cs
@@ -88,14 +88,7 @@ public class LibraryStructureController : BaseJellyfinApiController
libraryOptions.PathInfos = Array.ConvertAll(paths, i => new MediaPathInfo(i));
}
- try
- {
- await _libraryManager.AddVirtualFolder(name, collectionType, libraryOptions, refreshLibrary).ConfigureAwait(false);
- }
- catch (System.Exception ex)
- {
- return BadRequest(ex.ToString());
- }
+ await _libraryManager.AddVirtualFolder(name, collectionType, libraryOptions, refreshLibrary).ConfigureAwait(false);
return NoContent();
}
@@ -106,6 +99,7 @@ public class LibraryStructureController : BaseJellyfinApiController
/// The name of the folder.
/// Whether to refresh the library.
/// Folder removed.
+ /// Folder not found.
/// A .
[HttpDelete]
[ProducesResponseType(StatusCodes.Status204NoContent)]
@@ -113,6 +107,7 @@ public class LibraryStructureController : BaseJellyfinApiController
[FromQuery] string name,
[FromQuery] bool refreshLibrary = false)
{
+ // TODO: refactor! this relies on an FileNotFound exception to return NotFound when attempting to remove a library that does not exist.
await _libraryManager.RemoveVirtualFolder(name, refreshLibrary).ConfigureAwait(false);
return NoContent();
diff --git a/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs b/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs
index 6b749f0a89..0376f57cc1 100644
--- a/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs
+++ b/tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryStructureControllerTests.cs
@@ -77,7 +77,7 @@ public sealed class LibraryStructureControllerTests : IClassFixture