27 lines
No EOL
907 B
TypeScript
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 };
|
|
}; |