updates for zmanagement x3
All checks were successful
Build Org Backend / build (push) Successful in 15s

This commit is contained in:
2026-06-10 16:30:21 +01:00
parent 3712e2e6f0
commit 28d874edd8

View File

@@ -36,7 +36,9 @@ import java.time.temporal.Temporal;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -157,11 +159,22 @@ public class CalendarSyncService {
}
}
return events.stream()
return deduplicate(events.stream()
.filter(event -> event.getStartsAt().isBefore(to.toOffsetDateTime())
&& event.getEndsAt().isAfter(from.toOffsetDateTime()))
.sorted(Comparator.comparing(CalendarEvent::getStartsAt))
.toList();
.toList());
}
private List<CalendarEvent> deduplicate(List<CalendarEvent> events) {
Map<String, CalendarEvent> uniqueEvents = new LinkedHashMap<>();
for (CalendarEvent event : events) {
CalendarEvent duplicate = uniqueEvents.putIfAbsent(event.getExternalId(), event);
if (duplicate != null) {
logger.info("Skipping duplicate calendar event from " + event.getSource() + " at " + event.getStartsAt());
}
}
return List.copyOf(uniqueEvents.values());
}
private List<CalendarEvent> toCalendarEvents(