package mops.gruppen2.service; import mops.gruppen2.domain.Group; import mops.gruppen2.domain.User; import mops.gruppen2.domain.event.Event; import mops.gruppen2.domain.exception.EventException; import mops.gruppen2.domain.exception.GroupNotFoundException; import mops.gruppen2.repository.EventRepository; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; //Hallo @Service public class UserService { private final EventRepository eventRepository; private final GroupService groupService; public UserService(EventRepository eventRepository, GroupService groupService) { this.eventRepository = eventRepository; this.groupService = groupService; } //Test nötig?? public List getUserGroups(User user) throws EventException { List groupIds = eventRepository.findGroup_idsWhereUser_id(user.getId()); List events = groupService.getGroupEvents(groupIds); List groups = groupService.projectEventList(events); List newGroups = new ArrayList<>(); for (Group group : groups) { if (group.getMembers().contains(user)) { newGroups.add(group); } } return newGroups; } public Group getGroupById(Long groupId) throws EventException { List groupIds = new ArrayList<>(); groupIds.add(groupId); try { List events = groupService.getGroupEvents(groupIds); return groupService.projectEventList(events).get(0); } catch (IndexOutOfBoundsException e) { throw new GroupNotFoundException(this.getClass().toString()); } } }