1 package de.juplo.kafka.chat.backend.persistence.inmemory;
3 import de.juplo.kafka.chat.backend.domain.ChatHome;
4 import de.juplo.kafka.chat.backend.domain.ChatRoom;
5 import de.juplo.kafka.chat.backend.domain.UnknownChatroomException;
6 import lombok.extern.slf4j.Slf4j;
7 import reactor.core.publisher.Flux;
8 import reactor.core.publisher.Mono;
14 public class SimpleChatHome implements ChatHome
16 private final ChatHomeService service;
17 private final int shard;
20 public SimpleChatHome(ChatHomeService service, int shard)
22 log.info("Created SimpleChatHome for shard {}", shard);
23 this.service = service;
27 public SimpleChatHome(ChatHomeService service)
34 public Mono<ChatRoom> getChatRoom(UUID id)
37 .getChatRoom(shard, id)
38 .switchIfEmpty(Mono.error(() -> new UnknownChatroomException(id)));
42 public Flux<ChatRoom> getChatRooms()
44 return service.getChatRooms(shard);