import { connect } from 'react-redux';
import Users from '../../pages/Users/Users';
import { fetchUsersBegin, selectUsers } from '../../redux/branches/entities/users';
import { fetchRolesBegin, selectRoles } from '../../redux/branches/entities/roles';
import { transitToCreateUser, transitToCreatePatient } from '../../redux/branches/transits';

export const mapDispatchToProps = dispatch => ({
  fetchUsers: ({ pageId, limit }) => dispatch(fetchUsersBegin({ pageId, limit })),
  transitToCreateUser: type => dispatch(transitToCreateUser(type)),
  transitToCreatePatient: () => dispatch(transitToCreatePatient()),
  fetchRoles: () => dispatch(fetchRolesBegin()),
});

export const mapStateToProps = state => ({
  users: selectUsers(state),
  roles: selectRoles(state)
});

export default connect(mapStateToProps, mapDispatchToProps)(Users);
