aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Controllers/PlaystateController.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2023-02-12 16:32:00 +0100
committerGitHub <noreply@github.com>2023-02-12 16:32:00 +0100
commit5e074ac945a184fc583703cb9a1d705c0463ef4e (patch)
treef4ede552ec534482fc8caefd6472481e122a89b0 /Jellyfin.Api/Controllers/PlaystateController.cs
parentf5c970e67ff922808cb5684d1185966e19fd789b (diff)
parenteb7fee95906f1c9d8d104777e0214de9115ca82f (diff)
Merge pull request #9253 from Bond-009/nullref
Diffstat (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs')
-rw-r--r--Jellyfin.Api/Controllers/PlaystateController.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/Jellyfin.Api/Controllers/PlaystateController.cs b/Jellyfin.Api/Controllers/PlaystateController.cs
index 18d6ebf1e..ea8a59cfd 100644
--- a/Jellyfin.Api/Controllers/PlaystateController.cs
+++ b/Jellyfin.Api/Controllers/PlaystateController.cs
@@ -77,6 +77,11 @@ public class PlaystateController : BaseJellyfinApiController
[FromQuery, ModelBinder(typeof(LegacyDateTimeModelBinder))] DateTime? datePlayed)
{
var user = _userManager.GetUserById(userId);
+ if (user is null)
+ {
+ return NotFound();
+ }
+
var session = await RequestHelpers.GetSession(_sessionManager, _userManager, HttpContext).ConfigureAwait(false);
var item = _libraryManager.GetItemById(itemId);
@@ -89,6 +94,11 @@ public class PlaystateController : BaseJellyfinApiController
foreach (var additionalUserInfo in session.AdditionalUsers)
{
var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId);
+ if (additionalUser is null)
+ {
+ return NotFound();
+ }
+
UpdatePlayedStatus(additionalUser, item, true, datePlayed);
}
@@ -109,6 +119,11 @@ public class PlaystateController : BaseJellyfinApiController
public async Task<ActionResult<UserItemDataDto>> MarkUnplayedItem([FromRoute, Required] Guid userId, [FromRoute, Required] Guid itemId)
{
var user = _userManager.GetUserById(userId);
+ if (user is null)
+ {
+ return NotFound();
+ }
+
var session = await RequestHelpers.GetSession(_sessionManager, _userManager, HttpContext).ConfigureAwait(false);
var item = _libraryManager.GetItemById(itemId);
@@ -121,6 +136,11 @@ public class PlaystateController : BaseJellyfinApiController
foreach (var additionalUserInfo in session.AdditionalUsers)
{
var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId);
+ if (additionalUser is null)
+ {
+ return NotFound();
+ }
+
UpdatePlayedStatus(additionalUser, item, false, null);
}