cluedin-widget
Version: 
This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.
59 lines (56 loc) • 1.62 kB
JavaScript
import constants from '../constants';
const initialState = {
  isFetchingLogin: false,
  authInfo: void 0,
  clientId: void 0,
  isFetchingTeamDomain: void 0,
  teamDomainInfo: void 0,
  invalidLogin: false,
  clientIds: [],
  done: false,
};
export default function update(state = initialState, action = {}) {
  switch (action.type) {
    case constants.auth.REQUEST_LOGIN:
      return Object.assign({}, state, {
        isFetchingLogin: true,
        invalidLogin: false,
      });
    case constants.auth.RECEIVE_LOGIN:
      return Object.assign({}, state, {
        isFetchingLogin: false,
        authInfo: action.data.authInfo,
        invalidLogin: false,
      });
    case constants.auth.INVALID_LOGIN:
      return Object.assign({}, state, {
        isFetchingLogin: false,
        invalidLogin: true,
      });
    case constants.auth.REQUEST_TEAM_DOMAIN:
      return Object.assign({}, state, {
        isFetchingTeamDomain: true,
      });
    case constants.auth.RESET_TEAM_DOMAIN:
      return Object.assign({}, state, {
        teamDomainInfo: void 0,
        clientId: void 0,
      });
    case constants.auth.RECEIVE_TEAM_DOMAIN:
      return Object.assign({}, state, {
        isFetchingTeamDomain: false,
        teamDomainInfo: action.data.teamDomainResult,
        clientId: action.data.clientId,
      });
    case constants.auth.INVALID_TEAM_DOMAIN:
      return Object.assign({}, state, {
        isFetchingTeamDomain: false,
      });
    case constants.auth.REDIRECT_AFTER_LOGIN:
      return Object.assign({}, state, {
        done: true,
      });
    default :
      return state;
  }
}