From e5c6b9cd741d48b4c817d5906b4fb6b3df31c177 Mon Sep 17 00:00:00 2001 From: Aiden Vigue Date: Mon, 14 Jun 2021 12:27:07 -0400 Subject: [PATCH] fix(backend): update jellyfin.ts for 10.8.0 --- server/api/jellyfin.ts | 6 ++++-- server/routes/settings/index.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index 103fdcfbc..796788328 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -151,7 +151,9 @@ class JellyfinAPI { public async getLibraries(): Promise { try { - const account = await this.axios.get('/Library/MediaFolders'); + const account = await this.axios.get( + `/Users/${this.userId ?? 'Me'}/Views` + ); const response: JellyfinLibrary[] = account.data.Items.filter( (Item: any) => { @@ -176,7 +178,7 @@ class JellyfinAPI { `Something went wrong while getting libraries from the Jellyfin server: ${e.message}`, { label: 'Jellyfin API' } ); - throw new Error('Invalid auth token'); + return []; } } diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index e893ff2a7..ccfb29d6b 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -246,7 +246,7 @@ settingsRoutes.get('/jellyfin/library', async (req, res) => { if (req.query.sync) { const userRepository = getRepository(User); const admin = await userRepository.findOneOrFail({ - select: ['id', 'jellyfinAuthToken', 'jellyfinDeviceId'], + select: ['id', 'jellyfinAuthToken', 'jellyfinDeviceId', 'jellyfinUserId'], order: { id: 'ASC' }, }); const jellyfinClient = new JellyfinAPI( @@ -255,6 +255,8 @@ settingsRoutes.get('/jellyfin/library', async (req, res) => { admin.jellyfinDeviceId ?? '' ); + jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); + const libraries = await jellyfinClient.getLibraries(); const newLibraries: Library[] = libraries.map((library) => {