fix issue where users could see other users playlists

This commit is contained in:
Violet Caulfield
2025-02-08 08:43:07 -06:00
parent 7b5cb5bbb5
commit e1623f7d82
4 changed files with 54 additions and 5 deletions
+22
View File
@@ -1,5 +1,6 @@
import Client from "../../client";
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import { getUserViewsApi } from "@jellyfin/sdk/lib/utils/api";
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
import { isUndefined } from "lodash";
@@ -51,4 +52,25 @@ export function fetchPlaylistLibrary(): Promise<BaseItemDto> {
return resolve(playlistLibrary);
})
}
export function fetchUserViews() : Promise<BaseItemDto[]> {
return new Promise(async (resolve, reject) => {
console.debug("Fetching user views")
getUserViewsApi(Client.api!)
.getUserViews({
userId: Client.user!.id
})
.then((response) => {
if (response.data.Items)
resolve(response.data.Items)
else
resolve([])
})
.catch((error) => {
reject(error)
})
});
}
+18 -1
View File
@@ -1,13 +1,30 @@
import { QueryKeys } from "../../enums/query-keys";
import { useQuery } from "@tanstack/react-query";
import { fetchMusicLibraries, fetchPlaylistLibrary } from "./functions/libraries";
import { fetchMusicLibraries, fetchPlaylistLibrary, fetchUserViews } from "./functions/libraries";
/**
* @deprecated use {@link useUserViews} instead as that will respect user permissions
* @returns
*/
export const useMusicLibraries = () => useQuery({
queryKey: [QueryKeys.Libraries],
queryFn: () => fetchMusicLibraries()
});
/**
* @deprecated use {@link useUserViews} instead as that will respect user permissions
* @returns
*/
export const usePlaylistLibrary = () => useQuery({
queryKey: [QueryKeys.Playlist],
queryFn: () => fetchPlaylistLibrary()
});
/**
*
* @returns
*/
export const useUserViews = () => useQuery({
queryKey: [QueryKeys.UserViews],
queryFn: () => fetchUserViews()
});