import { GROUP_RELATIONSHIPS_FETCH_SUCCESS, GROUP_JOIN_SUCCESS, GROUP_LEAVE_SUCCESS } from '../actions/groups';
import { Map as ImmutableMap, fromJS } from 'immutable';
  
const normalizeRelationship = (state, relationship) => state.set(relationship.id, fromJS(relationship));
  
const normalizeRelationships = (state, relationships) => {
  relationships.forEach(relationship => {
    state = normalizeRelationship(state, relationship);
  });
  
  return state
};
  
const initialState = ImmutableMap();
  
export default function group_relationships(state = initialState, action) {
    switch(action.type) {
    case GROUP_JOIN_SUCCESS:
    case GROUP_LEAVE_SUCCESS:
      return normalizeRelationship(state, action.relationship);
    case GROUP_RELATIONSHIPS_FETCH_SUCCESS:
      return normalizeRelationships(state, action.relationships);
    default:
      return state;
    }
};
  