Move user pages to TS SDK
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { Api } from '@jellyfin/sdk';
|
||||
import { UserApiGetUserByIdRequest } from '@jellyfin/sdk/lib/generated-client';
|
||||
import { getUserApi } from '@jellyfin/sdk/lib/utils/api/user-api';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { useApi } from 'hooks/useApi';
|
||||
|
||||
export const QUERY_KEY = 'User';
|
||||
|
||||
const fetchUser = async (api?: Api, params?: UserApiGetUserByIdRequest) => {
|
||||
if (!api) {
|
||||
console.error('[useUser] No Api instance available');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!params) {
|
||||
console.error('[useUser] Missing request params');
|
||||
return;
|
||||
}
|
||||
|
||||
const response = await getUserApi(api).getUserById(params);
|
||||
|
||||
return response.data;
|
||||
};
|
||||
|
||||
export const useUser = (params?: UserApiGetUserByIdRequest) => {
|
||||
const { api } = useApi();
|
||||
|
||||
return useQuery({
|
||||
queryKey: [ QUERY_KEY, params?.userId ],
|
||||
queryFn: () => fetchUser(api, params),
|
||||
enabled: !!api && !!params
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user