|
|
@@ -5,44 +5,39 @@ import puzzeltocht.controller.dto.TeamCreateDto;
|
|
|
import puzzeltocht.controller.dto.TeamUpdateDto;
|
|
|
import puzzeltocht.domain.*;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.UUID;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class EventService {
|
|
|
|
|
|
- private final RouteService routeService;
|
|
|
private final TeamService teamService;
|
|
|
|
|
|
- private final List<Event> events = new ArrayList<>();
|
|
|
+ private final Map<UUID, Event> events = new HashMap<>();
|
|
|
|
|
|
public EventService(RouteService rs, TeamService ts) {
|
|
|
- this.routeService = rs;
|
|
|
this.teamService = ts;
|
|
|
- this.events.add(demoEvent());
|
|
|
+ createEvent("Summercamp MINI puzzeltocht", "Korte route", rs.mockRoute());
|
|
|
+ createEvent("Summercamp MAXI puzzeltocht", "Lange route", rs.mockRoute());
|
|
|
}
|
|
|
|
|
|
- public List<Event> currentEvents() {
|
|
|
- return events;
|
|
|
+ private void createEvent(String title, String description, Route r){
|
|
|
+ Event e = new Event(title, description, r);
|
|
|
+ events.put(e.getId(), e);
|
|
|
}
|
|
|
|
|
|
- public Event get(UUID id) {
|
|
|
- return events.stream()
|
|
|
- .filter(r -> r.getId().equals(id))
|
|
|
- .findFirst().orElseThrow(IllegalStateException::new);
|
|
|
+ public Collection<Event> currentEvents() {
|
|
|
+ return events.values();
|
|
|
}
|
|
|
|
|
|
- private Event demoEvent() {
|
|
|
- Route r = routeService.mockRoute();
|
|
|
- return new Event("Summercamp puzzeltocht", "", r);
|
|
|
+ public Event get(UUID id) {
|
|
|
+ return events.get(id);
|
|
|
}
|
|
|
|
|
|
- public Mission updateMission(UUID eventId, UUID teamId, TeamUpdateDto update) {
|
|
|
- return teamService.updateMission(get(eventId), teamId, update);
|
|
|
+ public Mission updateMission(Event e, Team t, TeamUpdateDto update) {
|
|
|
+ return teamService.updateMission(e, t, update);
|
|
|
}
|
|
|
|
|
|
- public UUID createTeam(UUID eventId, TeamCreateDto team) {
|
|
|
- return teamService.create(get(eventId), team);
|
|
|
+ public Team createTeam(Event e, TeamCreateDto team) {
|
|
|
+ return teamService.create(e, team);
|
|
|
}
|
|
|
}
|