package it.inaf.ia2.gms.service; import it.inaf.ia2.gms.model.RapUser; import it.inaf.ia2.gms.persistence.MembershipsDAO; import it.inaf.ia2.gms.persistence.model.MembershipEntity; import it.inaf.ia2.gms.rap.RapClient; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class MembersService { @Autowired private MembershipsDAO membershipsDAO; @Autowired private RapClient rapClient; public List getMembers(String groupId) { List memberships = membershipsDAO.findByGroup(groupId); Set userIdentifiers = memberships.stream() .map(m -> m.getUserId()) .collect(Collectors.toSet()); return rapClient.getUsers(userIdentifiers); } public MembershipEntity addMember(String groupId, String userId) { MembershipEntity membership = new MembershipEntity(); membership.setGroupId(groupId); membership.setUserId(userId); return membershipsDAO.addMember(membership); } public void removeMember(String groupId, String userId) { membershipsDAO.removeMembership(groupId, userId); } }