1 package de.juplo.kafka.chat.backend.domain;
3 import lombok.extern.slf4j.Slf4j;
4 import reactor.core.publisher.Flux;
5 import reactor.core.publisher.Mono;
11 public class SimpleChatHome implements ChatHome
13 private final ChatHomeService service;
14 private final int shard;
17 public SimpleChatHome(ChatHomeService service, int shard)
19 log.info("Created SimpleChatHome for shard {}", shard);
20 this.service = service;
24 public SimpleChatHome(ChatHomeService service)
31 public Mono<ChatRoom> putChatRoom(ChatRoom chatRoom)
33 return service.putChatRoom(chatRoom);
37 public Mono<ChatRoom> getChatRoom(UUID id)
40 .getChatRoom(shard, id)
41 .switchIfEmpty(Mono.error(() -> new UnknownChatroomException(id)));
45 public Flux<ChatRoom> getChatRooms()
47 return service.getChatRooms(shard);