feat: Introduced `ChatHome` that gives multiple `Chatroom`s a home
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / domain / PersistenceStrategy.java
1 package de.juplo.kafka.chat.backend.domain;
2
3 import lombok.Value;
4 import reactor.core.publisher.Flux;
5 import reactor.core.publisher.Mono;
6
7 import java.time.LocalDateTime;
8
9
10 public interface PersistenceStrategy
11 {
12   Mono<Message> persistMessage(
13       Message.MessageKey key,
14       LocalDateTime timestamp,
15       String text);
16
17   Mono<Message> getMessage(Message.MessageKey key);
18
19   Flux<Message> getMessages(long first, long last);
20 }