import ActionTypes from '../constants/actionTypes';
import Immutable, { Map } from 'immutable';

/**
 * Reducer voor foutafhandeling
 */
export const errorReducer = (state = Map({}), action) => {
  switch (action.type) {
    case ActionTypes.CHANGEPASSWORD_USER_ERROR:
    case ActionTypes.ACTIVATE_USER_ERROR:
    case ActionTypes.DELETE_USER_ERROR:
    case ActionTypes.GET_ORDER_ERROR:
    case ActionTypes.GET_ORDERS_ERROR:
    case ActionTypes.GET_CONTRACT_ERROR:
    case ActionTypes.GET_CONTRACTS_ERROR:
    case ActionTypes.GET_SPOTS_ERROR:
    case ActionTypes.GET_USER_ERROR:
    case ActionTypes.GET_USERLIST_ERROR:
    case ActionTypes.LOGIN_USER_ERROR:
    case ActionTypes.NEWPASSWORD_USER_ERROR:
    case ActionTypes.SAVE_USER_ERROR:
      if(action.error) {
        return Map({message: action.error});
      }
      else {
        return Map({message: 'Er is iets fout gegaan.'});
      }
    case ActionTypes.ACTIVATE_USER_SUCCESS:
    case ActionTypes.CHANGEPASSWORD_USER_SUCCESS:
    case ActionTypes.DELETE_USER_SUCCESS:
    case ActionTypes.GET_CONTRACT_SUCCESS:
    case ActionTypes.GET_CONTRACTS_SUCCESS:
    case ActionTypes.GET_INVOICE_SUCCESS:
    case ActionTypes.GET_INVOICES_SUCCESS:
    case ActionTypes.GET_ORDER_SUCCESS:
    case ActionTypes.GET_ORDERS_SUCCESS:
    case ActionTypes.GET_SPOTS_SUCCESS:
    case ActionTypes.GET_USER_SUCCESS:
    case ActionTypes.GET_USERLIST_SUCCESS:
    case ActionTypes.LOGIN_CHECK_TOKEN_SUCCESS:
    case ActionTypes.LOGIN_USER_SUCCESS:
    case ActionTypes.NEWPASSWORD_USER_SUCCESS:
    case ActionTypes.SAVE_USER_SUCCESS:
      return Map({});
    default:
      return state;
  }
};
