Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 5 | Rev 38 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import { axios } from "../../utils";
import { actionsTypes } from "./auth.types";

export const getPermissions = () => {
  return (dispatch) => {
    dispatch(startLoading());
    axios
      .get("/signin", { headers: { "Content-Type": "application/json" } })
      .then(({ data: permissions }) => {
        window.localStorage.setItem("jwt", permissions.jwt);
        dispatch(
          setPermissions({ ...permissions, isAuth: permissions.is_logged_in })
        );
      })
      .catch((err) => {
        console.log(err);
        throw new Error(err);
      })
      .finally(() => dispatch(stopLoading()));
  };
};

const setPermissions = (permissions) => ({
  type: actionsTypes.SET_PERMISSIONS,
  payload: permissions,
});

export const startLoading = () => ({
  type: actionsTypes.START_LOADING,
});

export const stopLoading = () => ({
  type: actionsTypes.STOP_LOADING,
});

export const login = () => ({
  type: actionsTypes.LOGIN,
});

export const logout = () => ({
  type: actionsTypes.LOGOUT,
});