aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Controllers/PersonsController.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2023-02-17 15:16:08 -0700
committerGitHub <noreply@github.com>2023-02-17 23:16:08 +0100
commita527034ebe31e1aa43c5fd4adb98e8cff871988a (patch)
tree9e790c1f87c2d3fbdb784bdc9cce1535fc4e561b /Jellyfin.Api/Controllers/PersonsController.cs
parent9979b346ea0392f02922b7cce271f31ccb051987 (diff)
Validate requested user id (#8812)
Diffstat (limited to 'Jellyfin.Api/Controllers/PersonsController.cs')
-rw-r--r--Jellyfin.Api/Controllers/PersonsController.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/Jellyfin.Api/Controllers/PersonsController.cs b/Jellyfin.Api/Controllers/PersonsController.cs
index 5310f50b1..b4c6f490a 100644
--- a/Jellyfin.Api/Controllers/PersonsController.cs
+++ b/Jellyfin.Api/Controllers/PersonsController.cs
@@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Jellyfin.Api.Extensions;
+using Jellyfin.Api.Helpers;
using Jellyfin.Api.ModelBinders;
using Jellyfin.Data.Entities;
using MediaBrowser.Controller.Dto;
@@ -77,11 +78,12 @@ public class PersonsController : BaseJellyfinApiController
[FromQuery] Guid? userId,
[FromQuery] bool? enableImages = true)
{
+ userId = RequestHelpers.GetUserId(User, userId);
var dtoOptions = new DtoOptions { Fields = fields }
.AddClientFields(User)
.AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
- User? user = userId is null || userId.Value.Equals(default)
+ User? user = userId.Value.Equals(default)
? null
: _userManager.GetUserById(userId.Value);
@@ -117,6 +119,7 @@ public class PersonsController : BaseJellyfinApiController
[ProducesResponseType(StatusCodes.Status404NotFound)]
public ActionResult<BaseItemDto> GetPerson([FromRoute, Required] string name, [FromQuery] Guid? userId)
{
+ userId = RequestHelpers.GetUserId(User, userId);
var dtoOptions = new DtoOptions()
.AddClientFields(User);
@@ -126,7 +129,7 @@ public class PersonsController : BaseJellyfinApiController
return NotFound();
}
- if (userId.HasValue && !userId.Value.Equals(default))
+ if (!userId.Value.Equals(default))
{
var user = _userManager.GetUserById(userId.Value);
return _dtoService.GetBaseItemDto(item, dtoOptions, user);