Rev 3036 | Rev 3263 | 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 setPermissions = (permissions) => ({type: actionsTypes.SET_PERMISSIONS,payload: permissions})export const startLoading = () => ({type: actionsTypes.START_LOADING})export const stopLoading = () => ({type: actionsTypes.STOP_LOADING})export const logout = () => {return (dispatch) => {window.localStorage.removeItem('jwt')window.localStorage.removeItem('aes')dispatch(removeAuth())}}export const asyncLogin = ({ email, password, remember, captcha }) => {return async (dispatch) => {const formData = new FormData()formData.append('email', email)formData.append('password', password)formData.append('remember', remember)formData.append('captcha', captcha)const response = await axios.post('/signin', formData)const { success, data } = response.dataif (!success) {const err = typeof data === 'string' ? data : 'Error al iniciar sesión'throw new Error(err)}dispatch(login())const url = new URL(data.redirect).pathnamereturn url}}export const login = () => ({type: actionsTypes.LOGIN})export const removeAuth = () => ({type: actionsTypes.LOGOUT})