+ @Bean
+ public ChatHome chatHome(
+ ChatroomFactory chatroomFactory,
+ StorageStrategy storageStrategy)
+ {
+ return new ChatHome(
+ storageStrategy.readChatrooms().collectMap(chatroom -> chatroom.getId()).block(),
+ chatroomFactory);
+ }
+
+ @Bean
+ public StorageStrategy storageStrategy(
+ ChatBackendProperties properties,
+ ObjectMapper mapper,
+ ChatroomFactory chatroomFactory)
+ {
+ return new LocalJsonFilesStorageStrategy(
+ Paths.get(properties.getDatadir()),
+ mapper,
+ chatroomFactory);
+ }
+