Login complete.

This commit is contained in:
2022-04-05 19:14:11 -05:00
parent 5c393cb73d
commit c4c4031e4c
6 changed files with 104 additions and 34 deletions

View File

@@ -1,7 +1,6 @@
import { useNavigate } from "react-router-dom";
import { apiClient } from "./httpClients";
export function guard(evaluator, redirect, navigateOptions, onRedirect) {
export function guard(navigator, evaluator, redirect, navigateOptions, onRedirect) {
if (!evaluator) throw new Error("evaluator required.");
if (!redirect) throw new Error("redirect required.");
if (!navigateOptions) {
@@ -9,16 +8,15 @@ export function guard(evaluator, redirect, navigateOptions, onRedirect) {
replace: true
};
}
let navigate = useNavigate();
let redirecting = !evaluator();
if (redirecting) {
if (onRedirect) onRedirect();
navigate(redirect, navigateOptions);
navigator(redirect, navigateOptions);
}
}
export async function needUser() {
export async function needUser(navigator) {
let userDataResponse = await apiClient.get("/user");
guard(() => userDataResponse.status === 200, "/login");
guard(navigator, () => userDataResponse.status === 200, "/login");
return userDataResponse.data;
}