import {
  FETCH_INVESTIGATIONS_FULFILLED,
  FETCH_INVESTIGATIONS_PENDING,
  LOG_OUT,
} from '../constants/actionTypes';

const initialState = {
  fetching: false,
  fetched: false,
  initialized: false,
  data: [],
  error: null,
};

const investigations = (state = initialState, action) => {
  switch (action.type) {
    case FETCH_INVESTIGATIONS_PENDING: {
      state = { ...state, fetched: false, fetching: true };
      break;
    }
    case FETCH_INVESTIGATIONS_FULFILLED: {
      state = {
        ...state,
        data: action.payload.data.map((object) => object.Investigation),
        fetched: true,
        fetching: false,
        initialized: true,
      };
      break;
    }

    case LOG_OUT: {
      state = {
        ...state,
        fetching: false,
        fetched: false,
        data: [],
        initialized: false,
      };
      break;
    }
    default:
      break;
  }
  return state;
};

export default investigations;
