1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import * as types from '../actionsTypes/actionsTypes'
- import { changeUserForm } from '../utils/formFields'
- const initialState = {
- user:{},
- isFetching: false,
- changeUserForm:changeUserForm,
- error:null,
- successRegister: null,
- }
- export default (state = initialState, action) => {
- switch(action.type){
- case types.AUTH_REQUEST: {
- return {...state, isFetching: true};
- }
- case types.AUTH_REQUEST_SUCCESS: {
- const { user } = action.payload;
- return {...state, isFetching: false, user: user };
- }
- case types.AUTH_REQUEST_FAIL: {
- return {...state, isFetching: false,error: action.payload.response.data.message };
- }
- case types.REGISTRATION_REQUEST: {
- return { ...state, isFetching: true}
- }
- case types.REGISTRATION_REQUEST_SUCCESS: {
- const { message } = action.payload;
- return { ...state, isFetching: false, successRegister: message }
- }
- case types.REGISTRATION_REQUEST_FAIL: {
- return { ...state, isFetching: false, error: action.payload.response.data.message}
- }
- case types.GET_USER_REQUEST: {
- return { ...state, isFetching: true}
- }
- case types.GET_USER_REQUEST_SUCCESS: {
- const data = action.payload.user
- return {
- ...state,
- isFetching: false,
- user: action.payload.user,
- changeUserForm: state.changeUserForm.map(el => Object.keys(data).find(item => item === el.name) ? {
- ...el,
- value: data[`${el.name}`]
- } :
- el)
- }
- }
- case types.USER_LOGOUT: {
- return { ...state, user: initialState.user}
- }
- case types.CHANGE_INPUT_VALUE_USER_USER_FORM : {
- const data = action.payload.target;
- return {
- ...state,
- changeUserForm: state.changeUserForm.map(el => el.name === data.name ?
- {
- ...el,
- value: data.value
- }:
- el
- )
- }
- }
- case types.CHANGE_DATA_IN_CURRENT_USER: {
- Object.keys(state.user).map(el =>
- Object.keys(action.payload).map(item => {
- if(item === el){
- return {
- ...state,
- user:{
- ...state.user,
- [el]:action.payload[el]
- }
- }
- }}
- ))
- return {
- ...state
- }
- }
-
- default:
- return state
- }
- }
|