From 3150822117987b2714c68607ba5488716933ffbf Mon Sep 17 00:00:00 2001 From: advplyr Date: Sat, 26 Mar 2022 11:59:34 -0500 Subject: [PATCH] New data model removing media entity for books --- client/components/app/Appbar.vue | 6 +- client/components/app/BookShelfRow.vue | 3 - client/components/app/StreamContainer.vue | 6 +- client/components/cards/LazyBookCard.vue | 52 ++-- client/components/covers/BookCover.vue | 1 + .../components/modals/item/tabs/Chapters.vue | 61 ++-- client/components/tables/TracksTable.vue | 6 +- .../tables/collection/BookTableRow.vue | 13 +- client/components/ui/TextareaInput.vue | 7 +- client/components/ui/TextareaWithLabel.vue | 10 +- client/components/widgets/AudiobookData.vue | 9 +- client/components/widgets/ItemDetailsEdit.vue | 25 +- client/layouts/default.vue | 6 +- client/pages/audiobook/_id/edit.vue | 22 +- client/pages/collection/_id.vue | 4 +- client/pages/config/stats.vue | 6 +- client/pages/config/users/_id.vue | 8 +- client/pages/item/_id/index.vue | 75 +++-- client/players/PlayerHandler.js | 4 - client/store/user.js | 16 +- docs/SampleBookLibraryItem.js | 172 ++++++------ server/Server.js | 21 +- server/controllers/LibraryController.js | 8 +- server/controllers/LibraryItemController.js | 21 +- server/controllers/MeController.js | 14 +- server/controllers/MediaEntityController.js | 71 ----- server/managers/PlaybackSessionManager.js | 38 +-- server/managers/PodcastManager.js | 45 +++ server/objects/LibraryItem.js | 21 +- server/objects/PlaybackSession.js | 20 +- server/objects/ServerSettings.js | 3 + server/objects/Stream.js | 18 +- server/objects/entities/PodcastEpisode.js | 1 - server/objects/mediaTypes/Book.js | 261 ++++++++++++------ server/objects/mediaTypes/Podcast.js | 45 ++- server/objects/metadata/BookMetadata.js | 3 +- ...ibraryItemProgress.js => MediaProgress.js} | 14 +- server/objects/user/User.js | 100 +++---- server/routers/ApiRouter.js | 20 +- server/scanner/AudioFileScanner.js | 14 +- server/scanner/AuthorScanner.js | 32 --- server/scanner/Scanner.js | 132 ++++----- server/utils/dbMigration.js | 103 ++----- server/utils/libraryHelpers.js | 14 +- 44 files changed, 733 insertions(+), 798 deletions(-) delete mode 100644 server/controllers/MediaEntityController.js rename server/objects/user/{LibraryItemProgress.js => MediaProgress.js} (89%) delete mode 100644 server/scanner/AuthorScanner.js diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index 90689ae9..9118883a 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -100,8 +100,8 @@ export default { selectedLibraryItems() { return this.$store.state.selectedLibraryItems }, - userItemProgress() { - return this.$store.state.user.user.libraryItemProgress || [] + userMediaProgress() { + return this.$store.state.user.user.mediaProgress || [] }, userCanUpdate() { return this.$store.getters['user/getUserCanUpdate'] @@ -115,7 +115,7 @@ export default { selectedIsFinished() { // Find an item that is not finished, if none then all items finished return !this.selectedLibraryItems.find((libraryItemId) => { - var itemProgress = this.userItemProgress.find((lip) => lip.id === libraryItemId) + var itemProgress = this.userMediaProgress.find((lip) => lip.id === libraryItemId) return !itemProgress || !itemProgress.isFinished }) }, diff --git a/client/components/app/BookShelfRow.vue b/client/components/app/BookShelfRow.vue index 757d8cd8..8b56a792 100644 --- a/client/components/app/BookShelfRow.vue +++ b/client/components/app/BookShelfRow.vue @@ -82,9 +82,6 @@ export default { shelfHeight() { return this.bookCoverHeight + 48 }, - userAudiobooks() { - return this.$store.state.user.user ? this.$store.state.user.user.audiobooks || {} : {} - }, paddingLeft() { if (window.innerWidth < 768) return 1 return 2.5 diff --git a/client/components/app/StreamContainer.vue b/client/components/app/StreamContainer.vue index 4eaa0b6e..20418103 100644 --- a/client/components/app/StreamContainer.vue +++ b/client/components/app/StreamContainer.vue @@ -93,12 +93,12 @@ export default { user() { return this.$store.state.user.user }, - userLibraryItemProgress() { + userMediaProgress() { if (!this.libraryItemId) return - return this.$store.getters['user/getUserLibraryItemProgress'](this.libraryItemId) + return this.$store.getters['user/getUserMediaProgress'](this.libraryItemId) }, userItemCurrentTime() { - return this.userLibraryItemProgress ? this.userLibraryItemProgress.currentTime || 0 : 0 + return this.userMediaProgress ? this.userMediaProgress.currentTime || 0 : 0 }, bookmarks() { if (!this.libraryItemId) return [] diff --git a/client/components/cards/LazyBookCard.vue b/client/components/cards/LazyBookCard.vue index cd12d0ff..fb10dd13 100644 --- a/client/components/cards/LazyBookCard.vue +++ b/client/components/cards/LazyBookCard.vue @@ -17,11 +17,12 @@
{{ booksInSeries }}
-
+

{{ title }}

- + +
@@ -38,7 +39,7 @@
-