feat(all): conexión de servicio de login.
This commit is contained in:
1 parent
33d3afb768
commit
9fa5cc38e8
27 files changed
+2173
-139
No files matched your search
@@ -0,0 +1,26 @@
|
||||
"use client";
|
||||
import { useMutation } from "@tanstack/react-query";
|
||||
import { apiClient } from "@/lib/apiClient";
|
||||
import { useAuthStore } from "@/stores/authStore";
|
||||
import type { RegisterRequest, LoginResponse } from "@/types/auth";
|
||||
|
||||
async function registerFn(data: RegisterRequest): Promise<LoginResponse> {
|
||||
const res = await apiClient.post<LoginResponse>("/api/auth/register", data);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
export function useRegister(onSuccess?: () => void) {
|
||||
const { login } = useAuthStore();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: registerFn,
|
||||
onSuccess: (data) => {
|
||||
login(
|
||||
{ id: "", name: "", email: "", role: "student" },
|
||||
data.token,
|
||||
);
|
||||
localStorage.setItem("refreshToken", data.refreshToken);
|
||||
onSuccess?.();
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user