UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

64 lines (62 loc) 2.35 kB
const constants = require( '../constants' ); const initialState = { users: [], isFetching: false, potentialUsers: [], isFetchingPotentialUsers: false, currentUser: void 0 }; module.exports = function update( state = initialState, action = {} ) { switch( action.type ) { case constants.user.REQUEST_USERS: return { users: [], isFetching: true, potentialUsers: state.potentialUsers, isFetchingPotentialUsers: state.potentialUsers, currentUser: state.currentUser }; case constants.user.RECEIVE_USERS: return { users: action.data.users, isFetching: state.isFetching, potentialUsers: state.potentialUsers, isFetchingPotentialUsers: state.potentialUsers, currentUser: state.currentUser }; case constants.user.REQUEST_POTENTIAL_USERS: return Object.assign( {}, { users: state.users, isFetching: state.isFetching, potentialUsers: [], isFetchingPotentialUsers: true, currentUser: state.currentUser } ); case constants.user.INVALID_POTENTIAL_USERS: return Object.assign( {}, { users: state.users, isFetching: state.isFetching, potentialUsers: state.potentialUsers, isFetchingPotentialUsers: false, currentUser: state.currentUser } ); case constants.user.RECEIVE_POTENTIAL_USERS: return Object.assign( {}, { users: state.users, isFetching: state.isFetching, potentialUsers: action.data, isFetchingPotentialUsers: false, currentUser: state.currentUser } ); case constants.user.RECEIVE_CURRENT_USER: return Object.assign( {}, { users: state.users, isFetching: state.isFetching, potentialUsers: state.potentialUsers, isFetchingPotentialUsers: state.isFetchingPotentialUsers, currentUser: action.data.user } ); default : return state; } };