[VDU-4] feat(implementando): endpoint para buscar usuário por email
This commit is contained in:
parent
a8eb911832
commit
c92e903c3c
6 changed files with 120 additions and 1 deletions
|
|
@ -0,0 +1,22 @@
|
|||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import { UserInterface } from '../../interfaces/User/UserInterface';
|
||||
import { UserReadService } from '../../services/User/UserReadService';
|
||||
import { useResponse } from '@/shared/components/response/ResponseContext';
|
||||
|
||||
export const useGUserReadHooks = () => {
|
||||
const { setResponse } = useResponse();
|
||||
|
||||
const [User, setUser] = useState<UserInterface>();
|
||||
|
||||
const fetchUser = async (User: UserInterface) => {
|
||||
const response = await UserReadService(User.user_id);
|
||||
|
||||
setUser(response.data);
|
||||
|
||||
setResponse(response);
|
||||
};
|
||||
|
||||
return { User, fetchUser };
|
||||
};
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import { UserInterface } from '../../interfaces/User/UserInterface';
|
||||
import { UserSaveService } from '../../services/User/UserSaveService';
|
||||
import { useResponse } from '@/shared/components/response/ResponseContext';
|
||||
|
||||
export const useGUserSaveHook = () => {
|
||||
const { setResponse } = useResponse();
|
||||
|
||||
const [User, setUser] = useState<UserInterface>();
|
||||
|
||||
const saveUser = async (User: any) => {
|
||||
const response = await UserSaveService(User);
|
||||
|
||||
setUser(response.data);
|
||||
|
||||
setResponse(response);
|
||||
};
|
||||
|
||||
return { User, saveUser };
|
||||
};
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import { UserInterface } from '../../interfaces/User/UserInterface';
|
||||
import { UserIndexByEmailService } from '../../services/User/UserIndexByEmailService';
|
||||
import { useResponse } from '@/shared/components/response/ResponseContext';
|
||||
|
||||
export const useUserIndexByEmailHook = () => {
|
||||
const { setResponse } = useResponse();
|
||||
|
||||
const [user, setUser] = useState<UserInterface | null>(null);
|
||||
|
||||
const fetchUserByEmail = async (email: string) => {
|
||||
try {
|
||||
const response = await UserIndexByEmailService(email);
|
||||
|
||||
setUser(response.data);
|
||||
setResponse(response);
|
||||
} catch (error) {
|
||||
console.error("Erro ao buscar usuário por Email:", error);
|
||||
}
|
||||
};
|
||||
|
||||
return { user, fetchUserByEmail };
|
||||
};
|
||||
|
|
@ -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<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 };
|
||||
};
|
||||
23
src/packages/administrativo/hooks/User/useUserIndexHook.ts
Normal file
23
src/packages/administrativo/hooks/User/useUserIndexHook.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import { UserInterface } from '../../interfaces/User/UserInterface';
|
||||
import { UserIndexService } from '../../services/User/UserIndexService';
|
||||
import { useResponse } from '@/shared/components/response/ResponseContext';
|
||||
|
||||
export const useUserIndexHook = () => {
|
||||
const { setResponse } = useResponse();
|
||||
|
||||
const [usuarios, setUsuarios] = useState<UserInterface[] | null>(null);
|
||||
|
||||
const fetchUsuarios = async () => {
|
||||
const response = await UserIndexService();
|
||||
|
||||
setUsuarios(response.data);
|
||||
|
||||
// Define os dados do componente de resposta (toast, modal, etc)
|
||||
setResponse(response);
|
||||
};
|
||||
|
||||
return { usuarios, fetchUsuarios };
|
||||
};
|
||||
|
|
@ -9,4 +9,4 @@ async function executeUserSave(form: any) {
|
|||
|
||||
}
|
||||
|
||||
export const UserSave = withClientErrorHandler(executeUserSave)
|
||||
export const UserSaveService = withClientErrorHandler(executeUserSave)
|
||||
Loading…
Add table
Reference in a new issue