feat: `Chatroom.getMessages()` is fully paginated (takes first and last)
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / domain / Chatroom.java
index 62d33f2..115dcd6 100644 (file)
@@ -1,4 +1,4 @@
-package de.juplo.kafka.chatroom.domain;
+package de.juplo.kafka.chat.backend.domain;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -72,12 +72,16 @@ public class Chatroom
     return sink.asFlux();
   }
 
-  public Stream<Message> getMessages(long firstMessage)
+  public Stream<Message> getMessages(long first, long last)
   {
     return messages
         .values()
         .stream()
-        .filter(message -> message.getSerialNumber() >= firstMessage);
+        .filter(message ->
+        {
+          long serial = message.getSerialNumber();
+          return serial >= first && serial <= last;
+        });
   }