From cd37a7618e7312e73b0d85d86e4ed271f69a181f Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 11:30:25 -0600 Subject: [PATCH 01/16] Update LibraryController.js to respond with objects Changes: - `findAll` (GET /api/libraries) - `getLibraryUserPersonalizedOptimal` (GET /api/libraries//personalized) - `getAuthors` (GET /api/libraries//authors) - `reorder` (POST /api/libraries/order) --- server/controllers/LibraryController.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/server/controllers/LibraryController.js b/server/controllers/LibraryController.js index f23b6f9d..7bd673b5 100644 --- a/server/controllers/LibraryController.js +++ b/server/controllers/LibraryController.js @@ -58,7 +58,9 @@ class LibraryController { return res.json(this.db.libraries.filter(lib => librariesAccessible.includes(lib.id)).map(lib => lib.toJSON())) } - res.json(this.db.libraries.map(lib => lib.toJSON())) + res.json({ + libraries: this.db.libraries.map(lib => lib.toJSON()) + }) } async findOne(req, res) { @@ -456,7 +458,9 @@ class LibraryController { const limitPerShelf = req.query.limit && !isNaN(req.query.limit) ? Number(req.query.limit) : 10 const categories = libraryHelpers.buildPersonalizedShelves(req.user, libraryItems, mediaType, this.db.series, this.db.authors, limitPerShelf) - res.json(categories) + res.json({ + shelves: categories + }) } // PATCH: Change the order of libraries @@ -487,8 +491,9 @@ class LibraryController { Logger.debug(`[LibraryController] Library orders were up to date`) } - var libraries = this.db.libraries.map(lib => lib.toJSON()) - res.json(libraries) + res.json({ + libraries: this.db.libraries.map(lib => lib.toJSON()) + }) } // GET: Global library search @@ -594,7 +599,9 @@ class LibraryController { } }) - res.json(naturalSort(Object.values(authors)).asc(au => au.name)) + res.json({ + authors: naturalSort(Object.values(authors)).asc(au => au.name) + }) } async matchAll(req, res) { From b84882d9d13f33f4818da88adf95e3bc600eacc4 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 11:37:45 -0600 Subject: [PATCH 02/16] Update LibraryItemController.js to respond with objects Changes: - `batchGet` (POST /api/items/batch/get) --- server/controllers/LibraryItemController.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/LibraryItemController.js b/server/controllers/LibraryItemController.js index 8f573312..82fe8b09 100644 --- a/server/controllers/LibraryItemController.js +++ b/server/controllers/LibraryItemController.js @@ -308,7 +308,9 @@ class LibraryItemController { const li = this.db.libraryItems.find(_li => _li.id === lid) if (li) libraryItems.push(li.toJSONExpanded()) }) - res.json(libraryItems) + res.json({ + libraryItems: libraryItems + }) } // POST: api/items/batch/quickmatch From 08510503920a375754df4478163967be804ab48c Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 11:43:39 -0600 Subject: [PATCH 03/16] Update UserController.js to respond with objects Changes: - `findAll` (GET /api/users) --- server/controllers/UserController.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/UserController.js b/server/controllers/UserController.js index 27b01b3a..78ced4e9 100644 --- a/server/controllers/UserController.js +++ b/server/controllers/UserController.js @@ -12,7 +12,9 @@ class UserController { if (!req.user.isAdminOrUp) return res.sendStatus(403) const hideRootToken = !req.user.isRoot const users = this.db.users.map(u => this.userJsonWithItemProgressDetails(u, hideRootToken)) - res.json(users) + res.json({ + users: users + }) } findOne(req, res) { From b8f74e1c98258e0e76ed0a80e967f28edde156ed Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 11:48:21 -0600 Subject: [PATCH 04/16] Update CollectionController.js to respond with objects Changes: - `findAll` (GET /api/collections) --- server/controllers/CollectionController.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/controllers/CollectionController.js b/server/controllers/CollectionController.js index 9234abee..a00ae867 100644 --- a/server/controllers/CollectionController.js +++ b/server/controllers/CollectionController.js @@ -20,8 +20,9 @@ class CollectionController { } findAll(req, res) { - var expandedCollections = this.db.collections.map(c => c.toJSONExpanded(this.db.libraryItems)) - res.json(expandedCollections) + res.json({ + collections: this.db.collections.map(c => c.toJSONExpanded(this.db.libraryItems)) + }) } findOne(req, res) { From e04d26307e655cdfd37871e1221e3a472b9e5c98 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 11:55:22 -0600 Subject: [PATCH 05/16] Update FileSystemController.js to respond with objects Changes: - `getPaths` (GET /api/filesystem) --- server/controllers/FileSystemController.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/controllers/FileSystemController.js b/server/controllers/FileSystemController.js index 3a592b74..721f9455 100644 --- a/server/controllers/FileSystemController.js +++ b/server/controllers/FileSystemController.js @@ -19,8 +19,9 @@ class FileSystemController { }) Logger.debug(`[Server] get file system paths, excluded: ${excludedDirs.join(', ')}`) - var dirs = await this.getDirectories(global.appRoot, '/', excludedDirs) - res.json(dirs) + res.json({ + directories: await this.getDirectories(global.appRoot, '/', excludedDirs) + }) } } module.exports = new FileSystemController() \ No newline at end of file From e80c3a1c5a8a34350c8ab262ff64bbf5d81d0b12 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 12:04:45 -0600 Subject: [PATCH 06/16] Update AuthorController.js to respond with objects Changes: - `search` (GET /api/authors/search) --- server/controllers/AuthorController.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/AuthorController.js b/server/controllers/AuthorController.js index 70e67bdd..eb0d605e 100644 --- a/server/controllers/AuthorController.js +++ b/server/controllers/AuthorController.js @@ -148,7 +148,9 @@ class AuthorController { var limit = (req.query.limit && !isNaN(req.query.limit)) ? Number(req.query.limit) : 25 var authors = this.db.authors.filter(au => au.name.toLowerCase().includes(q)) authors = authors.slice(0, limit) - res.json(authors) + res.json({ + results: authors + }) } async match(req, res) { From 3fb2bd336207fb4389327cf74f077b6126fc2232 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 12:08:40 -0600 Subject: [PATCH 07/16] Update SeriesController.js to respond with objects Changes: - `search` (GET /api/series/search) --- server/controllers/SeriesController.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/SeriesController.js b/server/controllers/SeriesController.js index 678f30e0..c5b56edf 100644 --- a/server/controllers/SeriesController.js +++ b/server/controllers/SeriesController.js @@ -32,7 +32,9 @@ class SeriesController { var limit = (req.query.limit && !isNaN(req.query.limit)) ? Number(req.query.limit) : 25 var series = this.db.series.filter(se => se.name.toLowerCase().includes(q)) series = series.slice(0, limit) - res.json(series) + res.json({ + results: series + }) } async update(req, res) { From 13532cba1457f6435575351408a1c759c0e7d951 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 12:23:02 -0600 Subject: [PATCH 08/16] Update SearchController.js to respond with objects Changes: - `findCovers` (GET /api/search/covers) - `findBooks` (GET /api/search/books) - `findPodcasts` (GET /api/search/podcast) --- server/controllers/SearchController.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/server/controllers/SearchController.js b/server/controllers/SearchController.js index 05f0cff6..fa61b52d 100644 --- a/server/controllers/SearchController.js +++ b/server/controllers/SearchController.js @@ -7,8 +7,9 @@ class SearchController { var provider = req.query.provider || 'google' var title = req.query.title || '' var author = req.query.author || '' - var results = await this.bookFinder.search(provider, title, author) - res.json(results) + res.json({ + results: await this.bookFinder.search(provider, title, author) + }) } async findCovers(req, res) { @@ -23,13 +24,16 @@ class SearchController { var result = null if (podcast) result = await this.podcastFinder.findCovers(query.title) else result = await this.bookFinder.findCovers(query.provider || 'google', query.title, query.author || null) - res.json(result) + res.json({ + results: result + }) } async findPodcasts(req, res) { var term = req.query.term - var results = await this.podcastFinder.search(term) - res.json(results) + res.json({ + results: await this.podcastFinder.search(term) + }) } async findAuthor(req, res) { From c9ab2a242da43df550135c53a45b8001c97d7034 Mon Sep 17 00:00:00 2001 From: Paul Nettleton Date: Tue, 29 Nov 2022 12:26:59 -0600 Subject: [PATCH 09/16] Update MiscController.js to respond with objects Changes: - `getAllTags` (GET /api/tags) --- server/controllers/MiscController.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/MiscController.js b/server/controllers/MiscController.js index 6e8df5a6..735038d1 100644 --- a/server/controllers/MiscController.js +++ b/server/controllers/MiscController.js @@ -137,7 +137,9 @@ class MiscController { }) } }) - res.json(tags) + res.json({ + tags: tags + }) } validateCronExpression(req, res) { From 6b654d3c2de1762e49ccb63a718363667de5b216 Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:18:56 -0600 Subject: [PATCH 10/16] Update:Starting session for finished item sets the user start time back to 0 --- server/managers/PlaybackSessionManager.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/server/managers/PlaybackSessionManager.js b/server/managers/PlaybackSessionManager.js index 23f991ad..ed06fa02 100644 --- a/server/managers/PlaybackSessionManager.js +++ b/server/managers/PlaybackSessionManager.js @@ -118,18 +118,25 @@ class PlaybackSessionManager { async startSession(user, deviceInfo, libraryItem, episodeId, options) { // Close any sessions already open for user - var userSessions = this.sessions.filter(playbackSession => playbackSession.userId === user.id) + const userSessions = this.sessions.filter(playbackSession => playbackSession.userId === user.id) for (const session of userSessions) { Logger.info(`[PlaybackSessionManager] startSession: Closing open session "${session.displayTitle}" for user "${user.username}"`) await this.closeSession(user, session, null) } - var shouldDirectPlay = options.forceDirectPlay || (!options.forceTranscode && libraryItem.media.checkCanDirectPlay(options, episodeId)) - var mediaPlayer = options.mediaPlayer || 'unknown' + const shouldDirectPlay = options.forceDirectPlay || (!options.forceTranscode && libraryItem.media.checkCanDirectPlay(options, episodeId)) + const mediaPlayer = options.mediaPlayer || 'unknown' const userProgress = user.getMediaProgress(libraryItem.id, episodeId) - var userStartTime = 0 - if (userProgress) userStartTime = Number.parseFloat(userProgress.currentTime) || 0 + let userStartTime = 0 + if (userProgress) { + if (userProgress.isFinished) { + Logger.info(`[PlaybackSessionManager] Starting session for user "${user.username}" and resetting progress for finished item "${libraryItem.media.metadata.title}"`) + // Keep userStartTime as 0 so the client restarts the media + } else { + userStartTime = Number.parseFloat(userProgress.currentTime) || 0 + } + } const newPlaybackSession = new PlaybackSession() newPlaybackSession.setData(libraryItem, user, mediaPlayer, deviceInfo, userStartTime, episodeId) From eede2bbd46f91e3f77254221ef6bc0bbf3cb4f27 Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:29:56 -0600 Subject: [PATCH 11/16] Update for filesystem and libraries api update and revert personalized shelves route --- client/store/libraries.js | 6 +++--- server/controllers/LibraryController.js | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/client/store/libraries.js b/client/store/libraries.js index d795e57f..3b06df50 100644 --- a/client/store/libraries.js +++ b/client/store/libraries.js @@ -86,8 +86,8 @@ export const actions = { .$get('/api/filesystem') .then((res) => { console.log('Settings folders', res) - commit('setFolders', res) - return res + commit('setFolders', res.directories) + return res.directories }) .catch((error) => { console.error('Failed to load dirs', error) @@ -151,7 +151,7 @@ export const actions = { this.$axios .$get(`/api/libraries`) .then((data) => { - commit('set', data) + commit('set', data.libraries) commit('setLastLoad') }) .catch((error) => { diff --git a/server/controllers/LibraryController.js b/server/controllers/LibraryController.js index e138d177..a6667a96 100644 --- a/server/controllers/LibraryController.js +++ b/server/controllers/LibraryController.js @@ -467,9 +467,7 @@ class LibraryController { const limitPerShelf = req.query.limit && !isNaN(req.query.limit) ? Number(req.query.limit) : 10 const categories = libraryHelpers.buildPersonalizedShelves(req.user, libraryItems, mediaType, this.db.series, this.db.authors, limitPerShelf) - res.json({ - shelves: categories - }) + res.json(categories) } // PATCH: Change the order of libraries From 3c0fdff7b4e495d653e2051f45e8ed4ae6f0fb1d Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:33:59 -0600 Subject: [PATCH 12/16] Update libraries reorder and get all authors routes --- client/components/tables/library/LibrariesTable.vue | 6 +++--- client/pages/library/_library/authors/index.vue | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/client/components/tables/library/LibrariesTable.vue b/client/components/tables/library/LibrariesTable.vue index 90e4cf1a..9f8360cb 100644 --- a/client/components/tables/library/LibrariesTable.vue +++ b/client/components/tables/library/LibrariesTable.vue @@ -82,10 +82,10 @@ export default { }) var newOrder = libraryOrderData.map((lib) => lib.id).join(',') if (currOrder !== newOrder) { - this.$axios.$post('/api/libraries/order', libraryOrderData).then((libraries) => { - if (libraries && libraries.length) { + this.$axios.$post('/api/libraries/order', libraryOrderData).then((response) => { + if (response.libraries && response.libraries.length) { this.$toast.success('Library order saved', { timeout: 1500 }) - this.$store.commit('libraries/set', libraries) + this.$store.commit('libraries/set', response.libraries) } }) } diff --git a/client/pages/library/_library/authors/index.vue b/client/pages/library/_library/authors/index.vue index beb36c3f..1f8e385b 100644 --- a/client/pages/library/_library/authors/index.vue +++ b/client/pages/library/_library/authors/index.vue @@ -48,10 +48,13 @@ export default { }, methods: { async init() { - this.authors = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/authors`).catch((error) => { - console.error('Failed to load authors', error) - return [] - }) + this.authors = await this.$axios + .$get(`/api/libraries/${this.currentLibraryId}/authors`) + .then((response) => response.authors) + .catch((error) => { + console.error('Failed to load authors', error) + return [] + }) this.loading = false }, authorAdded(author) { From 0ae853c119dffe13ce697d41afec262a3ffc6885 Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:36:53 -0600 Subject: [PATCH 13/16] Update library items batch get route --- client/components/app/Appbar.vue | 17 ++++++++++------- client/pages/batch/index.vue | 13 ++++++++----- server/controllers/LibraryItemController.js | 6 +++--- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index fe1af849..eeab3ce4 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -122,7 +122,7 @@ export default { return this.$store.state.globals.selectedMediaItems }, selectedMediaItemsArePlayable() { - return !this.selectedMediaItems.some(i => !i.hasTracks) + return !this.selectedMediaItems.some((i) => !i.hasTracks) }, userMediaProgress() { return this.$store.state.user.user.mediaProgress || [] @@ -164,12 +164,15 @@ export default { this.$store.commit('setProcessingBatch', true) const libraryItemIds = this.selectedMediaItems.map((i) => i.id) - const libraryItems = await this.$axios.$post(`/api/items/batch/get`, { libraryItemIds }).catch((error) => { - const errorMsg = error.response.data || 'Failed to get items' - console.error(errorMsg, error) - this.$toast.error(errorMsg) - return [] - }) + const libraryItems = await this.$axios + .$post(`/api/items/batch/get`, { libraryItemIds }) + .then((res) => res.libraryItems) + .catch((error) => { + const errorMsg = error.response.data || 'Failed to get items' + console.error(errorMsg, error) + this.$toast.error(errorMsg) + return [] + }) if (!libraryItems.length) { this.$store.commit('setProcessingBatch', false) diff --git a/client/pages/batch/index.vue b/client/pages/batch/index.vue index 976005eb..fd5f6d89 100644 --- a/client/pages/batch/index.vue +++ b/client/pages/batch/index.vue @@ -96,11 +96,14 @@ export default { } const libraryItemIds = store.state.globals.selectedMediaItems.map((i) => i.id) - const libraryItems = await app.$axios.$post(`/api/items/batch/get`, { libraryItemIds }).catch((error) => { - const errorMsg = error.response.data || 'Failed to get items' - console.error(errorMsg, error) - return [] - }) + const libraryItems = await app.$axios + .$post(`/api/items/batch/get`, { libraryItemIds }) + .then((res) => res.libraryItems) + .catch((error) => { + const errorMsg = error.response.data || 'Failed to get items' + console.error(errorMsg, error) + return [] + }) return { mediaType: libraryItems[0].mediaType, libraryItems diff --git a/server/controllers/LibraryItemController.js b/server/controllers/LibraryItemController.js index b6d649b1..7c3c9c08 100644 --- a/server/controllers/LibraryItemController.js +++ b/server/controllers/LibraryItemController.js @@ -308,17 +308,17 @@ class LibraryItemController { // POST: api/items/batch/get async batchGet(req, res) { - var libraryItemIds = req.body.libraryItemIds || [] + const libraryItemIds = req.body.libraryItemIds || [] if (!libraryItemIds.length) { return res.status(403).send('Invalid payload') } - var libraryItems = [] + const libraryItems = [] libraryItemIds.forEach((lid) => { const li = this.db.libraryItems.find(_li => _li.id === lid) if (li) libraryItems.push(li.toJSONExpanded()) }) res.json({ - libraryItems: libraryItems + libraryItems }) } From 2d9035d90bd08f2f48e18aac5013aace2d691c44 Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:45:51 -0600 Subject: [PATCH 14/16] Update get tags route and revert podcast/books search route --- client/components/modals/AccountModal.vue | 4 +-- client/components/modals/item/tabs/Cover.vue | 13 ++++--- client/components/modals/item/tabs/Match.vue | 6 ++-- server/controllers/SearchController.js | 38 ++++++++++---------- 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/client/components/modals/AccountModal.vue b/client/components/modals/AccountModal.vue index 6ea989cb..82045d51 100644 --- a/client/components/modals/AccountModal.vue +++ b/client/components/modals/AccountModal.vue @@ -201,8 +201,8 @@ export default { this.loadingTags = true this.$axios .$get(`/api/tags`) - .then((tags) => { - this.tags = tags + .then((res) => { + this.tags = res.tags this.loadingTags = false }) .catch((error) => { diff --git a/client/components/modals/item/tabs/Cover.vue b/client/components/modals/item/tabs/Cover.vue index 529a06e5..5b866b07 100644 --- a/client/components/modals/item/tabs/Cover.vue +++ b/client/components/modals/item/tabs/Cover.vue @@ -303,11 +303,14 @@ export default { this.persistProvider() this.isProcessing = true - var searchQuery = this.getSearchQuery() - var results = await this.$axios.$get(`/api/search/covers?${searchQuery}`).catch((error) => { - console.error('Failed', error) - return [] - }) + const searchQuery = this.getSearchQuery() + const results = await this.$axios + .$get(`/api/search/covers?${searchQuery}`) + .then((res) => res.results) + .catch((error) => { + console.error('Failed', error) + return [] + }) this.coversFound = results this.isProcessing = false this.hasSearched = true diff --git a/client/components/modals/item/tabs/Match.vue b/client/components/modals/item/tabs/Match.vue index 7af136bd..79e0fe11 100644 --- a/client/components/modals/item/tabs/Match.vue +++ b/client/components/modals/item/tabs/Match.vue @@ -306,13 +306,13 @@ export default { this.runSearch() }, async runSearch() { - var searchQuery = this.getSearchQuery() + const searchQuery = this.getSearchQuery() if (this.lastSearch === searchQuery) return this.searchResults = [] this.isProcessing = true this.lastSearch = searchQuery - var searchEntity = this.isPodcast ? 'podcast' : 'books' - var results = await this.$axios.$get(`/api/search/${searchEntity}?${searchQuery}`, { timeout: 20000 }).catch((error) => { + const searchEntity = this.isPodcast ? 'podcast' : 'books' + let results = await this.$axios.$get(`/api/search/${searchEntity}?${searchQuery}`, { timeout: 20000 }).catch((error) => { console.error('Failed', error) return [] }) diff --git a/server/controllers/SearchController.js b/server/controllers/SearchController.js index fa61b52d..5ca217b3 100644 --- a/server/controllers/SearchController.js +++ b/server/controllers/SearchController.js @@ -4,16 +4,15 @@ class SearchController { constructor() { } async findBooks(req, res) { - var provider = req.query.provider || 'google' - var title = req.query.title || '' - var author = req.query.author || '' - res.json({ - results: await this.bookFinder.search(provider, title, author) - }) + const provider = req.query.provider || 'google' + const title = req.query.title || '' + const author = req.query.author || '' + const results = await this.bookFinder.search(provider, title, author) + res.json(results) } async findCovers(req, res) { - var query = req.query + const query = req.query const podcast = query.podcast == 1 if (!query.title) { @@ -21,31 +20,30 @@ class SearchController { return res.sendStatus(400) } - var result = null - if (podcast) result = await this.podcastFinder.findCovers(query.title) - else result = await this.bookFinder.findCovers(query.provider || 'google', query.title, query.author || null) + let results = null + if (podcast) results = await this.podcastFinder.findCovers(query.title) + else results = await this.bookFinder.findCovers(query.provider || 'google', query.title, query.author || null) res.json({ - results: result + results }) } async findPodcasts(req, res) { - var term = req.query.term - res.json({ - results: await this.podcastFinder.search(term) - }) + const term = req.query.term + const results = await this.podcastFinder.search(term) + res.json(results) } async findAuthor(req, res) { - var query = req.query.q - var author = await this.authorFinder.findAuthorByName(query) + const query = req.query.q + const author = await this.authorFinder.findAuthorByName(query) res.json(author) } async findChapters(req, res) { - var asin = req.query.asin - var region = (req.query.region || 'us').toLowerCase() - var chapterData = await this.bookFinder.findChapters(asin, region) + const asin = req.query.asin + const region = (req.query.region || 'us').toLowerCase() + const chapterData = await this.bookFinder.findChapters(asin, region) if (!chapterData) { return res.json({ error: 'Chapters not found' }) } From ea42ab76241ba6b9cc73a0f4ef2befe8d44f400c Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 12 Dec 2022 17:48:57 -0600 Subject: [PATCH 15/16] Update get all users route --- client/components/tables/UsersTable.vue | 4 ++-- client/pages/config/sessions.vue | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client/components/tables/UsersTable.vue b/client/components/tables/UsersTable.vue index d243fe31..a3b99ae8 100644 --- a/client/components/tables/UsersTable.vue +++ b/client/components/tables/UsersTable.vue @@ -109,8 +109,8 @@ export default { loadUsers() { this.$axios .$get('/api/users') - .then((users) => { - this.users = users.sort((a, b) => { + .then((res) => { + this.users = res.users.sort((a, b) => { return a.createdAt - b.createdAt }) }) diff --git a/client/pages/config/sessions.vue b/client/pages/config/sessions.vue index 2e417ce5..a3213c81 100644 --- a/client/pages/config/sessions.vue +++ b/client/pages/config/sessions.vue @@ -61,10 +61,10 @@