|
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"; |
7 | 7 |
|
8 | 8 | 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(); |
12 | 12 |
|
13 | 13 | useEffect(() => { |
14 | | - const storedUser = getItem("user") |
| 14 | + const storedUser = getItem("user"); |
15 | 15 | if (storedUser) { |
16 | | - setUser(JSON.parse(storedUser)) |
| 16 | + setUser(JSON.parse(storedUser)); |
17 | 17 | } |
18 | | - }, []) |
| 18 | + }, []); |
19 | 19 |
|
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 | + }; |
38 | 42 |
|
39 | | - const logout = () : void => { |
| 43 | + const logout = (): void => { |
40 | 44 | removeUser(); |
41 | | - } |
| 45 | + }; |
42 | 46 |
|
43 | | - return { user, login, logout, setUser } |
| 47 | + return { user, login, logout, setUser }; |
44 | 48 | }; |
0 commit comments