user.js 644B

12345678910111213141516171819202122232425262728293031323334
  1. import {
  2. USER_CONNECTED,
  3. USER_DATA
  4. } from '../action-creator.sync.js'
  5. const serializeUser = data => ({
  6. id: data.user.id,
  7. isLoggedIn: data.logged,
  8. username: data.user.username,
  9. firstname: data.user.firstname,
  10. lastname: data.user.lastname,
  11. email: data.user.email
  12. })
  13. export default function user (state = {
  14. id: 0,
  15. isLoggedIn: undefined,
  16. username: '',
  17. firstname: '',
  18. lastname: '',
  19. email: ''
  20. }, action) {
  21. switch (action.type) {
  22. case `Update/${USER_CONNECTED}`:
  23. return serializeUser(action.user)
  24. case `Update/${USER_DATA}`:
  25. return {...state, ...action.data}
  26. default:
  27. return state
  28. }
  29. }