useAuth.tsx 629 B

123456789101112131415161718192021
  1. import { useMutation } from '@tanstack/react-query'
  2. import { authService } from '@/services/auth.service'
  3. import { useAuthStore } from '@/stores/auth-store'
  4. export function useLogin() {
  5. const setToken = useAuthStore((s) => s.setToken)
  6. const setUser = useAuthStore((s) => s.setUser)
  7. const setPermissions = useAuthStore((s) => s.setPermissions)
  8. const setProfileFetched = useAuthStore((s) => s.setProfileFetched)
  9. return useMutation({
  10. mutationFn: authService.login,
  11. onSuccess: (data) => {
  12. setToken(data.token)
  13. setUser(data.admin)
  14. setPermissions([])
  15. setProfileFetched(false)
  16. },
  17. })
  18. }