adding ability to switch user on library selection screen

adding backend to support loading libraries
This commit is contained in:
Violet Caulfield
2024-10-20 06:09:18 -05:00
parent 7c2e60f7a2
commit b139cf1c7b
11 changed files with 81 additions and 45 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import { Api } from "@jellyfin/sdk";
import { client } from "../../queries";
import { fetchCredentials } from "./storage";
import { client } from "../../client";
/**
* A promise to build an authenticated Jellyfin API client
+14
View File
@@ -0,0 +1,14 @@
import { Api } from "@jellyfin/sdk";
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
import _ from "lodash";
export const fetchMusicLibraries = async (api: Api) => {
let libraries = await getItemsApi(api).getItems();
if (_.isUndefined(libraries.data.Items))
return Promise.reject("No libraries found on Jellyfin");
return libraries.data.Items!.filter(library => library.CollectionType == 'music')
}
+9
View File
@@ -0,0 +1,9 @@
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { fetchMusicLibraries } from "./functions/libraries";
import { Api } from "@jellyfin/sdk";
export const useLibraries = (api: Api) => useQuery({
queryKey: [QueryKeys.Libraries],
queryFn: () => fetchMusicLibraries(api)
});
-1
View File
@@ -1,6 +1,5 @@
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
import { usePublicApi } from "../queries";
import { getSystemApi } from "@jellyfin/sdk/lib/utils/api/system-api";
import { createPublicApi } from "./functions/api";