Cleaning up libraries function and queries

trying to get playlist library returned singularly
This commit is contained in:
Violet Caulfield
2025-01-08 17:00:34 -06:00
parent 498dafaf87
commit b784f87ae2
2 changed files with 22 additions and 6 deletions
+9 -3
View File
@@ -8,14 +8,17 @@ export function fetchMusicLibraries(api: Api): Promise<BaseItemDto[]> {
return new Promise(async (resolve, reject) => {
console.debug("Fetching music libraries from Jellyfin");
let libraries = await getItemsApi(api).getItems({ includeItemTypes: ['CollectionFolder'] });
let libraries = await getItemsApi(api).getItems({
includeItemTypes: ['CollectionFolder']
});
if (isUndefined(libraries.data.Items)) {
console.warn("No libraries found on Jellyfin");
return reject("No libraries found on Jellyfin");
}
let musicLibraries = libraries.data.Items!.filter(library => library.CollectionType == 'music');
let musicLibraries = libraries.data.Items!.filter(library =>
library.CollectionType == 'music');
return resolve(musicLibraries);
});
@@ -25,7 +28,10 @@ export function fetchPlaylistLibrary(api: Api): Promise<BaseItemDto> {
return new Promise(async (resolve, reject) => {
console.debug("Fetching playlist library from Jellyfin");
let libraries = await getItemsApi(api).getItems({ includeItemTypes: ['ManualPlaylistsFolder'], nameStartsWith: "Playlists" });
let libraries = await getItemsApi(api).getItems({
includeItemTypes: ['ManualPlaylistsFolder'],
excludeItemTypes: ['CollectionFolder']
});
if (isUndefined(libraries.data.Items)) {
console.warn("No playlist libraries found on Jellyfin");
+13 -3
View File
@@ -5,10 +5,20 @@ import { fetchMusicLibraries, fetchPlaylistLibrary } from "./functions/libraries
export const useMusicLibraries = (api: Api) => useQuery({
queryKey: [QueryKeys.Libraries, api],
queryFn: async ({ queryKey }) => await fetchMusicLibraries(queryKey[1] as Api)
queryFn: async ({ queryKey }) => {
const api : Api = queryKey[1] as Api;
await fetchMusicLibraries(api)
}
});
export const usePlaylistLibrary = (api: Api) => useQuery({
queryKey: [QueryKeys.Playlist, api],
queryFn: async ({ queryKey }) => await fetchPlaylistLibrary(queryKey[1] as Api)
})
queryFn: async ({ queryKey }) => {
const api : Api = queryKey[1] as Api;
await fetchPlaylistLibrary(api)
}
});