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.*;
+import java.util.UUID;
-@Slf4j
-@RequiredArgsConstructor
-public class ChatHome
+public interface ChatHome
{
- private final ChatHomeService service;
- private final int shard;
+ Mono<ChatRoomInfo> createChatRoom(UUID id, String name);
- public Mono<ChatRoom> putChatRoom(ChatRoom chatRoom)
- {
- return service.putChatRoom(chatRoom);
- }
+ Mono<ChatRoomInfo> getChatRoomInfo(UUID id);
- public Mono<ChatRoom> getChatRoom(UUID id)
- {
- return service
- .getChatRoom(shard, id)
- .switchIfEmpty(Mono.error(() -> new UnknownChatroomException(id)));
- }
+ Flux<ChatRoomInfo> getChatRoomInfo();
- public Flux<ChatRoom> getChatRooms()
- {
- return service.getChatRooms(shard);
- }
+ Mono<ChatRoomData> getChatRoomData(UUID id);
}