Skip to content
Snippets Groups Projects
users.js 781 B
Newer Older
import { get } from 'lodash'
import { actions } from 'pubsweet-client'
import { create, update } from 'pubsweet-client/src/helpers/api'
const LOGIN_SUCCESS = 'LOGIN_SUCCESS'

const loginSuccess = user => ({
  type: LOGIN_SUCCESS,
  token: user.token,
  user,
})

export const currentUserIs = (state, role) =>
  get(state, `currentUser.user.${role}`)
export const confirmUser = (userId, confirmationToken) => dispatch =>
  create(`/users/confirm`, {
    userId,
    confirmationToken,
  }).then(user => {
    localStorage.setItem('token', user.token)
    return dispatch(loginSuccess(user))
export const changeEmailSubscription = (id, subscribe = true) => dispatch =>
  update(`/users/subscribe`, {
  }).then(() => dispatch(actions.getCurrentUser()))