diff options
| author | Bond-009 <bond.009@outlook.com> | 2023-02-12 16:32:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-12 16:32:00 +0100 |
| commit | 5e074ac945a184fc583703cb9a1d705c0463ef4e (patch) | |
| tree | f4ede552ec534482fc8caefd6472481e122a89b0 /Jellyfin.Api/Controllers/PlaystateController.cs | |
| parent | f5c970e67ff922808cb5684d1185966e19fd789b (diff) | |
| parent | eb7fee95906f1c9d8d104777e0214de9115ca82f (diff) | |
Merge pull request #9253 from Bond-009/nullref
Diffstat (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/PlaystateController.cs | 20 |
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); } |
