refactor: Moved persistence-logic into a pluggable strategy
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / api / ChatBackendController.java
index d613092..17d2b1f 100644 (file)
@@ -1,6 +1,7 @@
-package de.juplo.kafka.chatroom.api;
+package de.juplo.kafka.chat.backend.api;
 
-import de.juplo.kafka.chatroom.domain.Chatroom;
+import de.juplo.kafka.chat.backend.domain.Chatroom;
+import de.juplo.kafka.chat.backend.domain.PersistenceStrategy;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
@@ -17,16 +18,17 @@ import java.util.UUID;
 
 @RestController
 @RequiredArgsConstructor
-public class ChatroomController
+public class ChatBackendController
 {
   private final Map<UUID, Chatroom> chatrooms = new HashMap<>();
+  private final PersistenceStrategy persistenceStrategy;
   private final Clock clock;
 
 
   @PostMapping("create")
   public Chatroom create(@RequestBody String name)
   {
-    Chatroom chatroom = new Chatroom(UUID.randomUUID(), name);
+    Chatroom chatroom = new Chatroom(UUID.randomUUID(), name, persistenceStrategy);
     chatrooms.put(chatroom.getId(), chatroom);
     return chatroom;
   }