Files
mtdb_movie/resources/client/profile/requests/use-user-profile.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

30 lines
798 B
TypeScript
Executable File

import {useQuery} from '@tanstack/react-query';
import {BackendResponse} from '@common/http/backend-response/backend-response';
import {User} from '@common/auth/user';
import {apiClient} from '@common/http/query-client';
import {useParams} from 'react-router-dom';
export interface UseUserProfileResponse extends BackendResponse {
user: User;
}
export const userProfileQueryKey = (userId: number | string) => [
'users',
`${userId}`,
'profile',
];
export function useUserProfile() {
const {userId} = useParams();
return useQuery({
queryKey: userProfileQueryKey(userId!),
queryFn: () => fetchProfile(userId!),
});
}
function fetchProfile(userId: string) {
return apiClient
.get<UseUserProfileResponse>(`user-profile/${userId}`)
.then(response => response.data);
}