Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 5 | Rev 38 | 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" } })
5 stevensc 9
      .then(({ data: permissions }) => {
32 stevensc 10
        window.localStorage.setItem("jwt", permissions.jwt);
5 stevensc 11
        dispatch(
12
          setPermissions({ ...permissions, isAuth: permissions.is_logged_in })
32 stevensc 13
        );
5 stevensc 14
      })
15
      .catch((err) => {
32 stevensc 16
        console.log(err);
17
        throw new Error(err);
5 stevensc 18
      })
32 stevensc 19
      .finally(() => dispatch(stopLoading()));
20
  };
21
};
5 stevensc 22
 
23
const setPermissions = (permissions) => ({
24
  type: actionsTypes.SET_PERMISSIONS,
25
  payload: permissions,
32 stevensc 26
});
5 stevensc 27
 
28
export const startLoading = () => ({
29
  type: actionsTypes.START_LOADING,
32 stevensc 30
});
5 stevensc 31
 
32
export const stopLoading = () => ({
33
  type: actionsTypes.STOP_LOADING,
32 stevensc 34
});
5 stevensc 35
 
36
export const login = () => ({
37
  type: actionsTypes.LOGIN,
32 stevensc 38
});
5 stevensc 39
 
40
export const logout = () => ({
41
  type: actionsTypes.LOGOUT,
32 stevensc 42
});