Skip to content

Commit 811c061

Browse files
author
Manu
committed
format and error control
1 parent 650ba45 commit 811c061

File tree

1 file changed

+37
-33
lines changed

1 file changed

+37
-33
lines changed

src/hooks/useAuth.tsx

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,48 @@
1-
import { useEffect } from "react"
2-
import { useUser } from "src/hooks/useUser"
3-
import { useLocalStorage } from "src/hooks/useLocalStorage"
4-
import axios from 'axios'
5-
import { Response, LoginRequest } from "src/compiler/types"
6-
import { transformers } from "src/helpers/transformers"
1+
import { useEffect } from "react";
2+
import { useUser } from "src/hooks/useUser";
3+
import { useLocalStorage } from "src/hooks/useLocalStorage";
4+
import axios from "axios";
5+
import { Response, LoginRequest } from "src/compiler/types";
6+
import { transformers } from "src/helpers/transformers";
77

88
export const useAuth = () => {
9-
const { user, addUser, removeUser, setUser } = useUser()
10-
const { getItem } = useLocalStorage()
11-
const { transformUserResponse } = transformers()
9+
const { user, addUser, removeUser, setUser } = useUser();
10+
const { getItem } = useLocalStorage();
11+
const { transformUserResponse } = transformers();
1212

1313
useEffect(() => {
14-
const storedUser = getItem("user")
14+
const storedUser = getItem("user");
1515
if (storedUser) {
16-
setUser(JSON.parse(storedUser))
16+
setUser(JSON.parse(storedUser));
1717
}
18-
}, [])
18+
}, []);
1919

20-
const login = async (user: LoginRequest, setError: Function) : Promise<void> => {
21-
await axios.post<Response>(`${import.meta.env.VITE_BACKEND_ENDPOINT}/auth/login`, {
22-
email: user.email,
23-
password: user.password
24-
})
25-
.then(response => {
26-
addUser(transformUserResponse(response.data))
27-
})
28-
.catch(error => {
29-
// Handle the error response
30-
console.error(error)
31-
if (!error.response && !error.response.data.message) {
32-
setError(error.message)
33-
return
34-
}
35-
setError(error.response.data.message)
36-
})
37-
}
20+
const login = async (
21+
user: LoginRequest,
22+
setError: Function
23+
): Promise<void> => {
24+
await axios
25+
.post<Response>(`${import.meta.env.VITE_BACKEND_ENDPOINT}/auth/login`, {
26+
email: user.email,
27+
password: user.password,
28+
})
29+
.then((response) => {
30+
addUser(transformUserResponse(response.data));
31+
})
32+
.catch((error) => {
33+
// Handle the error response
34+
console.error(error);
35+
if (error.response && error.response.data.message) {
36+
setError(error.response.data.message);
37+
} else {
38+
setError(error.message);
39+
}
40+
});
41+
};
3842

39-
const logout = () : void => {
43+
const logout = (): void => {
4044
removeUser();
41-
}
45+
};
4246

43-
return { user, login, logout, setUser }
47+
return { user, login, logout, setUser };
4448
};

0 commit comments

Comments
 (0)