fix(server/api/jellyfin.ts): use /Library/VirtualFolders Jellyfin API call to fetch Jellyfin libs

use /Library/VirtualFolders Jellyfin API call to fetch Jellyfin libraries, instead of relying on
user's view

fix #256
This commit is contained in:
Ethan Armbrust
2023-08-10 18:10:29 -04:00
parent acc230fd20
commit 8685f5796a

View File

@@ -171,28 +171,25 @@ class JellyfinAPI {
public async getLibraries(): Promise<JellyfinLibrary[]> {
try {
const account = await this.axios.get<any>(
`/Users/${this.userId ?? 'Me'}/Views`
);
const libraries = await this.axios.get<any>('/Library/VirtualFolders');
const response: JellyfinLibrary[] = account.data.Items.filter(
(Item: any) => {
const response: JellyfinLibrary[] = libraries.data
.filter((Item: any) => {
return (
Item.Type === 'CollectionFolder' &&
Item.CollectionType !== 'music' &&
Item.CollectionType !== 'books' &&
Item.CollectionType !== 'musicvideos' &&
Item.CollectionType !== 'homevideos'
);
}
).map((Item: any) => {
return <JellyfinLibrary>{
key: Item.Id,
title: Item.Name,
type: Item.CollectionType === 'movies' ? 'movie' : 'show',
agent: 'jellyfin',
};
});
})
.map((Item: any) => {
return <JellyfinLibrary>{
key: Item.ItemId,
title: Item.Name,
type: Item.CollectionType === 'movies' ? 'movie' : 'show',
agent: 'jellyfin',
};
});
return response;
} catch (e) {