1 package de.juplo.kafka.chat.backend.storage.nostorage;
3 import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
4 import de.juplo.kafka.chat.backend.domain.Message;
5 import de.juplo.kafka.chat.backend.implementation.StorageStrategy;
6 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
7 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
8 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration;
9 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration;
10 import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
11 import org.springframework.context.annotation.Bean;
12 import org.springframework.context.annotation.Configuration;
13 import reactor.core.publisher.Flux;
15 import java.util.UUID;
18 @ConditionalOnProperty(
19 prefix = "chat.backend.inmemory",
20 name = "storage-strategy",
22 matchIfMissing = true)
24 @EnableAutoConfiguration(
26 MongoReactiveDataAutoConfiguration.class,
27 MongoReactiveRepositoriesAutoConfiguration.class,
28 MongoAutoConfiguration.class })
29 public class NoStorageStorageConfiguration
32 public StorageStrategy storageStrategy()
34 return new StorageStrategy()
37 public void writeChatRoomInfo(Flux<ChatRoomInfo> chatRoomInfoFlux) {}
40 public Flux<ChatRoomInfo> readChatRoomInfo()
46 public void writeChatRoomData(UUID chatRoomId, Flux<Message> messageFlux) {}
49 public Flux<Message> readChatRoomData(UUID chatRoomId)