Change: AudiobookProgress becomes UserAudiobookData, Change: Delete audiobook progress route

This commit is contained in:
advplyr 2021-10-28 17:19:09 -05:00
parent ad4dad1c29
commit ff92fbb849
5 changed files with 30 additions and 32 deletions

View file

@ -1,5 +1,5 @@
const Logger = require('../Logger')
const AudiobookProgress = require('./AudiobookProgress')
const UserAudiobookData = require('./UserAudiobookData')
class User {
constructor(user) {
@ -141,7 +141,7 @@ class User {
this.audiobooks = {}
for (const key in user.audiobooks) {
if (user.audiobooks[key]) {
this.audiobooks[key] = new AudiobookProgress(user.audiobooks[key])
this.audiobooks[key] = new UserAudiobookData(user.audiobooks[key])
}
}
}
@ -201,21 +201,21 @@ class User {
updateAudiobookProgressFromStream(stream) {
if (!this.audiobooks) this.audiobooks = {}
if (!this.audiobooks[stream.audiobookId]) {
this.audiobooks[stream.audiobookId] = new AudiobookProgress()
this.audiobooks[stream.audiobookId] = new UserAudiobookData()
}
this.audiobooks[stream.audiobookId].updateFromStream(stream)
this.audiobooks[stream.audiobookId].updateProgressFromStream(stream)
return this.audiobooks[stream.audiobookId]
}
updateAudiobookProgress(audiobook, updatePayload) {
updateAudiobookData(audiobook, updatePayload) {
if (!this.audiobooks) this.audiobooks = {}
if (!this.audiobooks[audiobook.id]) {
this.audiobooks[audiobook.id] = new AudiobookProgress()
this.audiobooks[audiobook.id] = new UserAudiobookData()
this.audiobooks[audiobook.id].audiobookId = audiobook.id
}
var wasUpdated = this.audiobooks[audiobook.id].update(updatePayload)
if (wasUpdated) {
Logger.debug(`[User] Audiobook progress was updated ${JSON.stringify(this.audiobooks[audiobook.id])}`)
Logger.debug(`[User] UserAudiobookData was updated ${JSON.stringify(this.audiobooks[audiobook.id])}`)
return this.audiobooks[audiobook.id]
}
return false
@ -251,7 +251,7 @@ class User {
if (!this.audiobooks || !this.audiobooks[audiobook.id]) {
return false
}
return this.updateAudiobookProgress(audiobook, {
return this.updateAudiobookData(audiobook, {
progress: 0,
currentTime: 0,
isRead: false,
@ -261,7 +261,7 @@ class User {
})
}
deleteAudiobookProgress(audiobookId) {
deleteAudiobookData(audiobookId) {
if (!this.audiobooks || !this.audiobooks[audiobookId]) {
return false
}

View file

@ -1,7 +1,7 @@
const Logger = require('../Logger')
const AudioBookmark = require('./AudioBookmark')
class AudiobookProgress {
class UserAudiobookData {
constructor(progress) {
this.audiobookId = null
@ -24,7 +24,7 @@ class AudiobookProgress {
if (!this.bookmarks) return []
return this.bookmarks.filter((b) => {
if (!b.toJSON) {
Logger.error(`[AudiobookProgress] Invalid bookmark ${JSON.stringify(b)}`)
Logger.error(`[UserAudiobookData] Invalid bookmark ${JSON.stringify(b)}`)
return false
}
return true
@ -61,7 +61,7 @@ class AudiobookProgress {
}
}
updateFromStream(stream) {
updateProgressFromStream(stream) {
this.audiobookId = stream.audiobookId
this.totalDuration = stream.totalDuration
this.progress = stream.clientProgress
@ -86,7 +86,7 @@ class AudiobookProgress {
update(payload) {
var hasUpdates = false
Logger.debug(`[AudiobookProgress] Update called ${JSON.stringify(payload)}`)
Logger.debug(`[UserAudiobookData] Update called ${JSON.stringify(payload)}`)
for (const key in payload) {
if (payload[key] !== this[key]) {
if (key === 'isRead') {
@ -135,4 +135,4 @@ class AudiobookProgress {
this.bookmarks = this.bookmarks.filter(bm => bm.time !== time)
}
}
module.exports = AudiobookProgress
module.exports = UserAudiobookData