monitoring-app/src/packages/administrativo/hooks/User/useUserIndexByIDHook.ts

27 lines
No EOL
907 B
TypeScript

'use client';
import { useState } from 'react';
import { UserInterface } from '../../interfaces/User/UserInterface';
import { UserIndexByIDService } from '../../services/User/UserIndexByIDService';
import { useResponse } from '@/shared/components/response/ResponseContext';
export const useUserIndexByIdHook = () => {
const { setResponse } = useResponse();
const [user, setUser] = useState<UserInterface | null>(null);
const fetchUserById = async (userId: number) => {
try {
const response = await UserIndexByIDService(userId);
setUser(response.data);
setResponse(response);
} catch (error) {
// O withClientErrorHandler já deve tratar o erro e formatar a 'response',
// mas um catch local pode ser útil para lógicas adicionais se necessário.
console.error("Erro ao buscar usuário por ID:", error);
}
};
return { user, fetchUserById };
};