Files
Horux360/apps/web/lib/hooks/use-usuarios.ts
2026-01-22 03:02:20 +00:00

41 lines
1.1 KiB
TypeScript

import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import * as usuariosApi from '../api/usuarios';
import type { UserInvite, UserUpdate } from '@horux/shared';
export function useUsuarios() {
return useQuery({
queryKey: ['usuarios'],
queryFn: usuariosApi.getUsuarios,
});
}
export function useInviteUsuario() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: (data: UserInvite) => usuariosApi.inviteUsuario(data),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['usuarios'] });
},
});
}
export function useUpdateUsuario() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: ({ id, data }: { id: string; data: UserUpdate }) => usuariosApi.updateUsuario(id, data),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['usuarios'] });
},
});
}
export function useDeleteUsuario() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: (id: string) => usuariosApi.deleteUsuario(id),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['usuarios'] });
},
});
}