From 2f853b902a801da16c819cd745087bbed23701b6 Mon Sep 17 00:00:00 2001 From: crobibero Date: Mon, 10 Aug 2020 11:33:42 -0600 Subject: fix datetime parsing --- Jellyfin.Api/Controllers/PlaystateController.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs') diff --git a/Jellyfin.Api/Controllers/PlaystateController.cs b/Jellyfin.Api/Controllers/PlaystateController.cs index 0422bfe72..70394800b 100644 --- a/Jellyfin.Api/Controllers/PlaystateController.cs +++ b/Jellyfin.Api/Controllers/PlaystateController.cs @@ -1,5 +1,6 @@ using System; using System.Diagnostics.CodeAnalysis; +using System.Globalization; using System.Threading.Tasks; using Jellyfin.Api.Constants; using Jellyfin.Api.Helpers; @@ -73,15 +74,21 @@ namespace Jellyfin.Api.Controllers public ActionResult MarkPlayedItem( [FromRoute] Guid userId, [FromRoute] Guid itemId, - [FromQuery] DateTime? datePlayed) + [FromQuery] string? datePlayed) { + DateTime? parsedDatePlayed = null; + if (!string.IsNullOrEmpty(datePlayed)) + { + parsedDatePlayed = DateTime.ParseExact(datePlayed, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); + } + var user = _userManager.GetUserById(userId); var session = RequestHelpers.GetSession(_sessionManager, _authContext, Request); - var dto = UpdatePlayedStatus(user, itemId, true, datePlayed); + var dto = UpdatePlayedStatus(user, itemId, true, parsedDatePlayed); foreach (var additionalUserInfo in session.AdditionalUsers) { var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId); - UpdatePlayedStatus(additionalUser, itemId, true, datePlayed); + UpdatePlayedStatus(additionalUser, itemId, true, parsedDatePlayed); } return dto; -- cgit v1.2.3 From 4b87bbf53d61e5855c69e8d566d466e7c849c9e8 Mon Sep 17 00:00:00 2001 From: crobibero Date: Mon, 10 Aug 2020 11:38:02 -0600 Subject: fix route --- Jellyfin.Api/Controllers/PlaystateController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs') diff --git a/Jellyfin.Api/Controllers/PlaystateController.cs b/Jellyfin.Api/Controllers/PlaystateController.cs index 70394800b..40e5e462a 100644 --- a/Jellyfin.Api/Controllers/PlaystateController.cs +++ b/Jellyfin.Api/Controllers/PlaystateController.cs @@ -101,7 +101,7 @@ namespace Jellyfin.Api.Controllers /// Item id. /// Item marked as unplayed. /// A containing the . - [HttpDelete("Users/{userId}/PlayedItem/{itemId}")] + [HttpDelete("Users/{userId}/PlayedItems/{itemId}")] [ProducesResponseType(StatusCodes.Status200OK)] public ActionResult MarkUnplayedItem([FromRoute] Guid userId, [FromRoute] Guid itemId) { -- cgit v1.2.3 From 3ba1f4c9019155daf7db6865016eaa8914f54ee6 Mon Sep 17 00:00:00 2001 From: crobibero Date: Mon, 10 Aug 2020 12:02:14 -0600 Subject: add proper converter for legacy datetime --- Jellyfin.Api/Controllers/PlaystateController.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs') diff --git a/Jellyfin.Api/Controllers/PlaystateController.cs b/Jellyfin.Api/Controllers/PlaystateController.cs index 40e5e462a..351e81703 100644 --- a/Jellyfin.Api/Controllers/PlaystateController.cs +++ b/Jellyfin.Api/Controllers/PlaystateController.cs @@ -1,6 +1,6 @@ using System; +using System.ComponentModel; using System.Diagnostics.CodeAnalysis; -using System.Globalization; using System.Threading.Tasks; using Jellyfin.Api.Constants; using Jellyfin.Api.Helpers; @@ -74,21 +74,15 @@ namespace Jellyfin.Api.Controllers public ActionResult MarkPlayedItem( [FromRoute] Guid userId, [FromRoute] Guid itemId, - [FromQuery] string? datePlayed) + [FromQuery] DateTime? datePlayed) { - DateTime? parsedDatePlayed = null; - if (!string.IsNullOrEmpty(datePlayed)) - { - parsedDatePlayed = DateTime.ParseExact(datePlayed, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); - } - var user = _userManager.GetUserById(userId); var session = RequestHelpers.GetSession(_sessionManager, _authContext, Request); - var dto = UpdatePlayedStatus(user, itemId, true, parsedDatePlayed); + var dto = UpdatePlayedStatus(user, itemId, true, datePlayed); foreach (var additionalUserInfo in session.AdditionalUsers) { var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId); - UpdatePlayedStatus(additionalUser, itemId, true, parsedDatePlayed); + UpdatePlayedStatus(additionalUser, itemId, true, datePlayed); } return dto; -- cgit v1.2.3 From 287baa49654e618345dc6f5f8bf00d5e80146530 Mon Sep 17 00:00:00 2001 From: crobibero Date: Tue, 18 Aug 2020 07:29:12 -0600 Subject: remove unused directives --- Jellyfin.Api/Controllers/NotificationsController.cs | 1 - Jellyfin.Api/Controllers/PlaystateController.cs | 1 - 2 files changed, 2 deletions(-) (limited to 'Jellyfin.Api/Controllers/PlaystateController.cs') diff --git a/Jellyfin.Api/Controllers/NotificationsController.cs b/Jellyfin.Api/Controllers/NotificationsController.cs index cf3e780b4..0ceda6815 100644 --- a/Jellyfin.Api/Controllers/NotificationsController.cs +++ b/Jellyfin.Api/Controllers/NotificationsController.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading; using Jellyfin.Api.Constants; diff --git a/Jellyfin.Api/Controllers/PlaystateController.cs b/Jellyfin.Api/Controllers/PlaystateController.cs index 351e81703..22f2ca5c3 100644 --- a/Jellyfin.Api/Controllers/PlaystateController.cs +++ b/Jellyfin.Api/Controllers/PlaystateController.cs @@ -1,5 +1,4 @@ using System; -using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; using Jellyfin.Api.Constants; -- cgit v1.2.3