reducers.ts 959 B

1234567891011121314151617181920212223242526272829303132
  1. import { Invitee, OrgUser, UsersState } from 'app/types';
  2. import { Action, ActionTypes } from './actions';
  3. import config from '../../../core/config';
  4. export const initialState: UsersState = {
  5. invitees: [] as Invitee[],
  6. users: [] as OrgUser[],
  7. searchQuery: '',
  8. canInvite: !config.disableLoginForm && !config.externalUserMngLinkName,
  9. externalUserMngInfo: config.externalUserMngInfo,
  10. externalUserMngLinkName: config.externalUserMngLinkName,
  11. externalUserMngLinkUrl: config.externalUserMngLinkUrl,
  12. };
  13. export const usersReducer = (state = initialState, action: Action): UsersState => {
  14. switch (action.type) {
  15. case ActionTypes.LoadUsers:
  16. return { ...state, users: action.payload };
  17. case ActionTypes.LoadInvitees:
  18. return { ...state, invitees: action.payload };
  19. case ActionTypes.SetUsersSearchQuery:
  20. return { ...state, searchQuery: action.payload };
  21. }
  22. return state;
  23. };
  24. export default {
  25. users: usersReducer,
  26. };