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;
}
}