From 7103e764a4f7a6e142251bee787722f3e41d18af Mon Sep 17 00:00:00 2001 From: Claus Vium Date: Mon, 31 Aug 2020 14:47:57 +0200 Subject: Fix model binding in UpdateLibraryOptions --- .../Controllers/LibraryStructureController.cs | 12 +++++------- .../LibraryStructureDto/AddVirtualFolderDto.cs | 15 +++++++++++++++ .../Models/LibraryStructureDto/LibraryOptionsDto.cs | 15 --------------- .../LibraryStructureDto/UpdateLibraryOptionsDto.cs | 21 +++++++++++++++++++++ 4 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 Jellyfin.Api/Models/LibraryStructureDto/AddVirtualFolderDto.cs delete mode 100644 Jellyfin.Api/Models/LibraryStructureDto/LibraryOptionsDto.cs create mode 100644 Jellyfin.Api/Models/LibraryStructureDto/UpdateLibraryOptionsDto.cs diff --git a/Jellyfin.Api/Controllers/LibraryStructureController.cs b/Jellyfin.Api/Controllers/LibraryStructureController.cs index cdab4f356f..d290e3c5bd 100644 --- a/Jellyfin.Api/Controllers/LibraryStructureController.cs +++ b/Jellyfin.Api/Controllers/LibraryStructureController.cs @@ -76,7 +76,7 @@ namespace Jellyfin.Api.Controllers [FromQuery] string? name, [FromQuery] string? collectionType, [FromQuery] string[] paths, - [FromBody] LibraryOptionsDto? libraryOptionsDto, + [FromBody] AddVirtualFolderDto? libraryOptionsDto, [FromQuery] bool refreshLibrary = false) { var libraryOptions = libraryOptionsDto?.LibraryOptions ?? new LibraryOptions(); @@ -312,19 +312,17 @@ namespace Jellyfin.Api.Controllers /// /// Update library options. /// - /// The library name. - /// The library options. + /// The library name and options. /// Library updated. /// A . [HttpPost("LibraryOptions")] [ProducesResponseType(StatusCodes.Status204NoContent)] public ActionResult UpdateLibraryOptions( - [FromQuery] string? id, - [FromBody] LibraryOptions? libraryOptions) + [FromBody] UpdateLibraryOptionsDto request) { - var collectionFolder = (CollectionFolder)_libraryManager.GetItemById(id); + var collectionFolder = (CollectionFolder)_libraryManager.GetItemById(request.Id); - collectionFolder.UpdateLibraryOptions(libraryOptions); + collectionFolder.UpdateLibraryOptions(request.LibraryOptions); return NoContent(); } } diff --git a/Jellyfin.Api/Models/LibraryStructureDto/AddVirtualFolderDto.cs b/Jellyfin.Api/Models/LibraryStructureDto/AddVirtualFolderDto.cs new file mode 100644 index 0000000000..ab68d52238 --- /dev/null +++ b/Jellyfin.Api/Models/LibraryStructureDto/AddVirtualFolderDto.cs @@ -0,0 +1,15 @@ +using MediaBrowser.Model.Configuration; + +namespace Jellyfin.Api.Models.LibraryStructureDto +{ + /// + /// Add virtual folder dto. + /// + public class AddVirtualFolderDto + { + /// + /// Gets or sets library options. + /// + public LibraryOptions? LibraryOptions { get; set; } + } +} diff --git a/Jellyfin.Api/Models/LibraryStructureDto/LibraryOptionsDto.cs b/Jellyfin.Api/Models/LibraryStructureDto/LibraryOptionsDto.cs deleted file mode 100644 index a13cb90dbe..0000000000 --- a/Jellyfin.Api/Models/LibraryStructureDto/LibraryOptionsDto.cs +++ /dev/null @@ -1,15 +0,0 @@ -using MediaBrowser.Model.Configuration; - -namespace Jellyfin.Api.Models.LibraryStructureDto -{ - /// - /// Library options dto. - /// - public class LibraryOptionsDto - { - /// - /// Gets or sets library options. - /// - public LibraryOptions? LibraryOptions { get; set; } - } -} \ No newline at end of file diff --git a/Jellyfin.Api/Models/LibraryStructureDto/UpdateLibraryOptionsDto.cs b/Jellyfin.Api/Models/LibraryStructureDto/UpdateLibraryOptionsDto.cs new file mode 100644 index 0000000000..c78ed51f78 --- /dev/null +++ b/Jellyfin.Api/Models/LibraryStructureDto/UpdateLibraryOptionsDto.cs @@ -0,0 +1,21 @@ +using System; +using MediaBrowser.Model.Configuration; + +namespace Jellyfin.Api.Models.LibraryStructureDto +{ + /// + /// Update library options dto. + /// + public class UpdateLibraryOptionsDto + { + /// + /// Gets or sets the library item id. + /// + public Guid Id { get; set; } + + /// + /// Gets or sets library options. + /// + public LibraryOptions? LibraryOptions { get; set; } + } +} -- cgit v1.2.3