diff --git a/src/packages/administrativo/hooks/User/useUserIndexByIDHook.ts b/src/packages/administrativo/hooks/User/useUserIndexByIDHook.ts new file mode 100644 index 0000000..3297895 --- /dev/null +++ b/src/packages/administrativo/hooks/User/useUserIndexByIDHook.ts @@ -0,0 +1,27 @@ +'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(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 }; +}; \ No newline at end of file