Add sync local media progress routes for offline mobile playback session support

This commit is contained in:
advplyr 2022-04-09 17:56:51 -05:00
parent fc228013d3
commit 2a386ca2a9
7 changed files with 113 additions and 63 deletions

View file

@ -264,6 +264,8 @@ class User {
return true
}
var wasUpdated = itemProgress.update(updatePayload)
if (updatePayload.lastUpdate) itemProgress.lastUpdate = updatePayload.lastUpdate // For local to keep update times in sync
return wasUpdated
}
@ -340,32 +342,5 @@ class User {
removeBookmark(libraryItemId, time) {
this.bookmarks = this.bookmarks.filter(bm => (bm.libraryItemId !== libraryItemId || bm.time !== time))
}
// TODO: re-do mobile sync
syncLocalUserAudiobookData(localUserAudiobookData, audiobook) {
// if (!localUserAudiobookData || !localUserAudiobookData.audiobookId) {
// Logger.error(`[User] Invalid local user audiobook data`, localUserAudiobookData)
// return false
// }
// if (!this.audiobooks) this.audiobooks = {}
// if (!this.audiobooks[localUserAudiobookData.audiobookId]) {
// this.audiobooks[localUserAudiobookData.audiobookId] = new UserAudiobookData(localUserAudiobookData)
// return true
// }
// var userAbD = this.audiobooks[localUserAudiobookData.audiobookId]
// if (userAbD.lastUpdate >= localUserAudiobookData.lastUpdate) {
// // Server audiobook data is more recent
// return false
// }
// // Local Data More recent
// var wasUpdated = this.audiobooks[localUserAudiobookData.audiobookId].update(localUserAudiobookData)
// if (wasUpdated) {
// Logger.debug(`[User] syncLocalUserAudiobookData local data was more recent for "${audiobook.title}"`)
// }
// return wasUpdated
}
}
module.exports = User