[VDU-4] feat(implementando): implementando endpoint para cadastrar/atualizar usuario

This commit is contained in:
= 2025-10-13 10:03:58 -03:00
parent a8eb911832
commit 5351fd4be8
3 changed files with 67 additions and 0 deletions

View file

@ -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 };
};

View file

@ -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 };
};

View 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 };
};