Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 32 | Rev 63 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
32 stevensc 1
import { axios } from "../../utils";
2
import { actionsTypes } from "./auth.types";
5 stevensc 3
 
4
export const getPermissions = () => {
5
  return (dispatch) => {
32 stevensc 6
    dispatch(startLoading());
5 stevensc 7
    axios
32 stevensc 8
      .get("/signin", { headers: { "Content-Type": "application/json" } })
38 stevensc 9
      .then((response) => {
10
        const { success, data: permissions } = response.data;
11
 
12
        if (permissions.jwt) {
13
          window.localStorage.setItem("jwt", permissions.jwt);
14
        }
15
 
5 stevensc 16
        dispatch(
17
          setPermissions({ ...permissions, isAuth: permissions.is_logged_in })
32 stevensc 18
        );
5 stevensc 19
      })
20
      .catch((err) => {
32 stevensc 21
        console.log(err);
22
        throw new Error(err);
5 stevensc 23
      })
32 stevensc 24
      .finally(() => dispatch(stopLoading()));
25
  };
26
};
5 stevensc 27
 
28
const setPermissions = (permissions) => ({
29
  type: actionsTypes.SET_PERMISSIONS,
30
  payload: permissions,
32 stevensc 31
});
5 stevensc 32
 
33
export const startLoading = () => ({
34
  type: actionsTypes.START_LOADING,
32 stevensc 35
});
5 stevensc 36
 
37
export const stopLoading = () => ({
38
  type: actionsTypes.STOP_LOADING,
32 stevensc 39
});
5 stevensc 40
 
41
export const login = () => ({
42
  type: actionsTypes.LOGIN,
32 stevensc 43
});
5 stevensc 44
 
45
export const logout = () => ({
46
  type: actionsTypes.LOGOUT,
32 stevensc 47
});