diff --git a/backend/src/main/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemService.java b/backend/src/main/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemService.java index d6fc0daf..4e0a78d8 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemService.java @@ -167,12 +167,13 @@ public class JourneyItemService { itemMap.put(item.getId(), item); } - List reordered = new ArrayList<>(requestedIds.size()); + List toSave = new ArrayList<>(requestedIds.size()); for (int i = 0; i < requestedIds.size(); i++) { JourneyItem item = itemMap.get(requestedIds.get(i)); item.setPosition((i + 1) * POSITION_STEP); - reordered.add(journeyItemRepository.save(item)); + toSave.add(item); } + List reordered = journeyItemRepository.saveAll(toSave); UUID actorId = currentUser().getId(); auditService.logAfterCommit(AuditKind.JOURNEY_ITEMS_REORDERED, actorId, null, diff --git a/backend/src/test/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemServiceTest.java index 8576141e..15ebcd87 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/geschichte/journeyitem/JourneyItemServiceTest.java @@ -551,7 +551,7 @@ class JourneyItemServiceTest { JourneyItem item2 = savedItem(id2, journey, 10, null, "B"); when(journeyItemRepository.findIdsByGeschichteId(geschichteId)).thenReturn(Set.of(id1, id2)); when(journeyItemRepository.findByGeschichteIdOrderByPosition(geschichteId)).thenReturn(List.of(item2, item1)); - when(journeyItemRepository.save(any())).thenAnswer(inv -> inv.getArgument(0)); + when(journeyItemRepository.saveAll(any())).thenAnswer(inv -> inv.getArgument(0)); JourneyReorderDTO dto = new JourneyReorderDTO(); dto.setItemIds(List.of(id1, id2)); // want id1 first @@ -572,7 +572,7 @@ class JourneyItemServiceTest { JourneyItem item1 = savedItem(id1, journey, 10, null, "A"); when(journeyItemRepository.findIdsByGeschichteId(geschichteId)).thenReturn(Set.of(id1)); when(journeyItemRepository.findByGeschichteIdOrderByPosition(geschichteId)).thenReturn(List.of(item1)); - when(journeyItemRepository.save(any())).thenAnswer(inv -> inv.getArgument(0)); + when(journeyItemRepository.saveAll(any())).thenAnswer(inv -> inv.getArgument(0)); JourneyReorderDTO dto = new JourneyReorderDTO(); dto.setItemIds(List.of(id1)); @@ -596,7 +596,7 @@ class JourneyItemServiceTest { } when(journeyItemRepository.findIdsByGeschichteId(geschichteId)).thenReturn(new HashSet<>(ids)); when(journeyItemRepository.findByGeschichteIdOrderByPosition(geschichteId)).thenReturn(items); - when(journeyItemRepository.save(any())).thenAnswer(inv -> inv.getArgument(0)); + when(journeyItemRepository.saveAll(any())).thenAnswer(inv -> inv.getArgument(0)); JourneyReorderDTO dto = new JourneyReorderDTO(); dto.setItemIds(ids); @@ -613,7 +613,7 @@ class JourneyItemServiceTest { JourneyItem item1 = savedItem(id1, journey, 10, null, "A"); when(journeyItemRepository.findIdsByGeschichteId(geschichteId)).thenReturn(Set.of(id1)); when(journeyItemRepository.findByGeschichteIdOrderByPosition(geschichteId)).thenReturn(List.of(item1)); - when(journeyItemRepository.save(any())).thenAnswer(inv -> inv.getArgument(0)); + when(journeyItemRepository.saveAll(any())).thenAnswer(inv -> inv.getArgument(0)); JourneyReorderDTO dto = new JourneyReorderDTO(); dto.setItemIds(List.of(id1));