From d430d9f3ed6d7b3f662bea94d3b9738d3bcd5ddf Mon Sep 17 00:00:00 2001 From: Lauri Vuorela Date: Thu, 12 Sep 2024 20:05:08 +0200 Subject: [PATCH] add new setDuration and use that --- server/managers/PlaybackSessionManager.js | 2 +- server/objects/PlaybackSession.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/server/managers/PlaybackSessionManager.js b/server/managers/PlaybackSessionManager.js index d58bc55b..14a60d18 100644 --- a/server/managers/PlaybackSessionManager.js +++ b/server/managers/PlaybackSessionManager.js @@ -164,7 +164,7 @@ class PlaybackSessionManager { // New session from local session = new PlaybackSession(sessionJson) session.deviceInfo = deviceInfo - session.duration = libraryItem.media.duration + session.setDuration(libraryItem, sessionJson.episodeId) Logger.debug(`[PlaybackSessionManager] Inserting new session for "${session.displayTitle}" (${session.id})`) await Database.createPlaybackSession(session) } else { diff --git a/server/objects/PlaybackSession.js b/server/objects/PlaybackSession.js index cd74089a..a294b72c 100644 --- a/server/objects/PlaybackSession.js +++ b/server/objects/PlaybackSession.js @@ -219,11 +219,7 @@ class PlaybackSession { this.displayAuthor = libraryItem.media.getPlaybackAuthor() this.coverPath = libraryItem.media.coverPath - if (episodeId) { - this.duration = libraryItem.media.getEpisodeDuration(episodeId) - } else { - this.duration = libraryItem.media.duration - } + this.setDuration(libraryItem, episodeId) this.mediaPlayer = mediaPlayer this.deviceInfo = deviceInfo || new DeviceInfo() @@ -239,6 +235,14 @@ class PlaybackSession { this.updatedAt = Date.now() } + setDuration(libraryItem, episodeId) { + if (episodeId) { + this.duration = libraryItem.media.getEpisodeDuration(episodeId) + } else { + this.duration = libraryItem.media.duration + } + } + addListeningTime(timeListened) { if (!timeListened || isNaN(timeListened)) return