client/src/reducers/authReducer.js
changeset 89 06f609adfbf8
parent 88 2a861fed6bde
child 90 990f2c928b15
equal deleted inserted replaced
88:2a861fed6bde 89:06f609adfbf8
     6   switch (action.type) {
     6   switch (action.type) {
     7     case types.AUTH_DEAUTHENTICATE:
     7     case types.AUTH_DEAUTHENTICATE:
     8     case types.AUTH_LOGOUT:
     8     case types.AUTH_LOGOUT:
     9       return false;
     9       return false;
    10     case types.AUTH_LOGIN_SUCCESS:
    10     case types.AUTH_LOGIN_SUCCESS:
       
    11     case types.AUTH_REGISTER_SUCCESS:
    11       return true;
    12       return true;
    12     default:
    13     default:
    13       return state;
    14       return state;
    14   }
    15   }
    15 }
    16 }
    18   switch (action.type) {
    19   switch (action.type) {
    19     case types.AUTH_DEAUTHENTICATE:
    20     case types.AUTH_DEAUTHENTICATE:
    20     case types.AUTH_LOGOUT:
    21     case types.AUTH_LOGOUT:
    21       return null;
    22       return null;
    22     case types.AUTH_LOGIN_SUCCESS:
    23     case types.AUTH_LOGIN_SUCCESS:
       
    24     case types.AUTH_REGISTER_SUCCESS:
    23       return new UserRecord(action.user);
    25       return new UserRecord(action.user);
    24     case types.USER_UPDATE_SETTINGS:
    26     case types.USER_UPDATE_SETTINGS:
    25       return state.merge({
    27       return state.merge({
    26         first_name: action.firstname,
    28         first_name: action.firstname,
    27         last_name: action.lastname
    29         last_name: action.lastname
    66       })
    68       })
    67     default:
    69     default:
    68       return state
    70       return state
    69   }
    71   }
    70 }
    72 }
       
    73 
       
    74 const registerState = Immutable.Map({
       
    75   loading: false,
       
    76   success: false,
       
    77   error: false,
       
    78   errorMessages: Immutable.Map({})
       
    79 });
       
    80 
       
    81 export const register = (state = registerState, action) => {
       
    82   switch (action.type) {
       
    83     case types.AUTH_REGISTER_REQUEST:
       
    84       return Immutable.Map({
       
    85         loading: true,
       
    86         success: false,
       
    87         error: false,
       
    88       })
       
    89     case types.AUTH_REGISTER_SUCCESS:
       
    90     case types.AUTH_REGISTER_ERROR:
       
    91       return Immutable.Map({
       
    92         loading: false,
       
    93         success: action.type === types.AUTH_REGISTER_SUCCESS,
       
    94         error: action.type === types.AUTH_REGISTER_ERROR,
       
    95         errorMessages: action.type === types.AUTH_REGISTER_ERROR ? Immutable.Map(action.error) : Immutable.Map({})
       
    96       })
       
    97     default:
       
    98       return state
       
    99   }
       
   100 }