From ef8c499f3742cc26712bc969917c60958b19440c Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 13 Oct 2025 10:06:25 -0300 Subject: [PATCH] =?UTF-8?q?[VDU-6]=20feat(implementa=C3=A7=C3=A3o):=20impl?= =?UTF-8?q?ementando=20endpoint=20para=20buscar=20usuario=20por=20ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hooks/User/useUserIndexByIDHook.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/packages/administrativo/hooks/User/useUserIndexByIDHook.ts 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