package de.juplo.kafka.chat.backend.domain;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import java.util.UUID;
+import java.util.*;
-public interface ChatHome
+@RequiredArgsConstructor
+@Slf4j
+public class ChatHome
{
- Mono<ChatRoom> putChatRoom(ChatRoom chatRoom);
+ private final ChatHomeService service;
- Mono<ChatRoom> getChatRoom(UUID id);
- Flux<ChatRoom> getChatRooms();
+ public Mono<ChatRoom> getChatRoom(UUID id)
+ {
+ return service
+ .getChatRoom(id)
+ .switchIfEmpty(Mono.error(() -> new UnknownChatroomException(id)));
+ }
+
+ public Flux<ChatRoom> getChatRooms()
+ {
+ return service.getChatRooms();
+ }
}