Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3262 stevensc 1
import { axios } from '@utils'
2219 stevensc 2
import { actionsTypes } from './auth.types'
5 stevensc 3
 
96 stevensc 4
export const setPermissions = (permissions) => ({
5 stevensc 5
  type: actionsTypes.SET_PERMISSIONS,
2219 stevensc 6
  payload: permissions
7
})
5 stevensc 8
 
9
export const startLoading = () => ({
2219 stevensc 10
  type: actionsTypes.START_LOADING
11
})
5 stevensc 12
 
13
export const stopLoading = () => ({
2219 stevensc 14
  type: actionsTypes.STOP_LOADING
15
})
5 stevensc 16
 
2219 stevensc 17
export const logout = () => {
18
  return (dispatch) => {
2237 stevensc 19
    window.localStorage.removeItem('jwt')
20
    window.localStorage.removeItem('aes')
2219 stevensc 21
    dispatch(removeAuth())
22
  }
23
}
24
 
3262 stevensc 25
export const asyncLogin = ({ email, password, remember, captcha }) => {
26
  return async (dispatch) => {
27
    const formData = new FormData()
28
    formData.append('email', email)
29
    formData.append('password', password)
30
    formData.append('remember', remember)
31
    formData.append('captcha', captcha)
32
 
33
    const response = await axios.post('/signin', formData)
34
 
35
    const { success, data } = response.data
36
 
37
    if (!success) {
38
      const err = typeof data === 'string' ? data : 'Error al iniciar sesión'
39
      throw new Error(err)
40
    }
41
 
42
    dispatch(login())
43
    const url = new URL(data.redirect).pathname
44
 
45
    return url
46
  }
47
}
48
 
66 stevensc 49
export const login = () => ({
2219 stevensc 50
  type: actionsTypes.LOGIN
51
})
5 stevensc 52
 
2219 stevensc 53
export const removeAuth = () => ({
54
  type: actionsTypes.LOGOUT
55
})