holy ravioli

This commit is contained in:
Laurent
2025-03-20 17:36:46 +01:00
parent fd7bdace3b
commit 609ef2b705
28 changed files with 245 additions and 93 deletions

View File

@@ -5,7 +5,4 @@ import java.util.Set;
public class AttendeeDTO {
public String name;
public Set<EventDateDTO> dates;
}

View File

@@ -1,10 +1,11 @@
package be.naaturel.letsmeet.dto.httpRequest;
import java.util.Map;
import java.util.Set;
public class EventDTO {
public String name;
public Set<AttendeeDTO> attendees;
public Map<String, Set<AttendeeDTO>> dates;
}

View File

@@ -22,13 +22,12 @@ public class AttendeeDTOMapper implements Mapper<Attendee, AttendeeDTO> {
public AttendeeDTO toEntity(Attendee d) {
AttendeeDTO dto = new AttendeeDTO();
dto.name = d.getName();
dto.dates = dateMapper.toEntities(d.getDates(), HashSet::new);
return dto;
}
@Override
public Attendee toModel(AttendeeDTO d) {
return new Attendee(d.name, dateMapper.toModels(d.dates, HashSet::new));
return null;
}
@Override

View File

@@ -1,30 +1,58 @@
package be.naaturel.letsmeet.mappers.requests;
import be.naaturel.letsmeet.core.models.EventDate;
import be.naaturel.letsmeet.dto.httpRequest.EventDTO;
import be.naaturel.letsmeet.dto.httpRequest.AttendeeDTO;
import be.naaturel.letsmeet.dto.httpRequest.EventDateDTO;
import be.naaturel.letsmeet.mappers.Mapper;
import be.naaturel.letsmeet.core.models.Event;
import be.naaturel.letsmeet.core.models.Attendee;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Supplier;
public class EventDTOMapper implements Mapper<Event, EventDTO> {
private final Mapper<Attendee, AttendeeDTO> attendeeMapper = new AttendeeDTOMapper();
private final Mapper<EventDate, EventDateDTO> dateMapper = new EventDateDTOMapper();
@Override
public EventDTO toEntity(Event event) {
EventDTO eventDTO = new EventDTO();
eventDTO.name = event.getName();
eventDTO.attendees = attendeeMapper.toEntities(event.getAttendees(), HashSet::new);
//eventDTO.dates = attendeeMapper.toEntities(event.getAttendees(), HashSet::new);
//TODO : MUST BE CLEANED
eventDTO.dates = new HashMap<>();
event.getAttendees().forEach(a -> {
a.getDates().forEach(d -> {
EventDateDTO dtoD = dateMapper.toEntity(d);
AttendeeDTO dtoA = attendeeMapper.toEntity(a);
String key = String.valueOf(d.getTimeStamp());
if(eventDTO.dates.containsKey(key)){
eventDTO.dates.get(key).add(dtoA);
} else {
Set<AttendeeDTO> s = new HashSet<>();
s.add(dtoA);
eventDTO.dates.put(key, s);
}
});
});
return eventDTO;
}
@Override
public Event toModel(EventDTO dto) {
return new Event(dto.name, attendeeMapper.toModels(dto.attendees, HashSet::new));
//return new Event(dto.name, attendeeMapper.toModels(dto.dates, HashSet::new));
Set<Attendee> set = new HashSet<>();
for (String key : dto.dates.keySet()) {
set.addAll(attendeeMapper.toModels(dto.dates.get(key), HashSet::new));
}
return new Event(dto.name, set);
}
@Override