projects
/
demos
/
kafka
/
chat
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: Renamed `persistence` into `implementation` - Aligned code
[demos/kafka/chat]
/
src
/
main
/
java
/
de
/
juplo
/
kafka
/
chat
/
backend
/
api
/
ChatBackendController.java
diff --git
a/src/main/java/de/juplo/kafka/chat/backend/api/ChatBackendController.java
b/src/main/java/de/juplo/kafka/chat/backend/api/ChatBackendController.java
index
3b8fc84
..
529be8d
100644
(file)
--- a/
src/main/java/de/juplo/kafka/chat/backend/api/ChatBackendController.java
+++ b/
src/main/java/de/juplo/kafka/chat/backend/api/ChatBackendController.java
@@
-1,8
+1,8
@@
package de.juplo.kafka.chat.backend.api;
package de.juplo.kafka.chat.backend.api;
-import de.juplo.kafka.chat.backend.domain.ChatHome;
-import de.juplo.kafka.chat.backend.domain.ChatRoom;
-import de.juplo.kafka.chat.backend.
persistence
.StorageStrategy;
+import de.juplo.kafka.chat.backend.domain.ChatHome
Service
;
+import de.juplo.kafka.chat.backend.domain.ChatRoom
Data
;
+import de.juplo.kafka.chat.backend.
implementation
.StorageStrategy;
import lombok.RequiredArgsConstructor;
import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.*;
import lombok.RequiredArgsConstructor;
import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.*;
@@
-16,59
+16,66
@@
import java.util.UUID;
@RequiredArgsConstructor
public class ChatBackendController
{
@RequiredArgsConstructor
public class ChatBackendController
{
- private final ChatHome
chatHom
e;
+ private final ChatHome
Service chatHomeServic
e;
private final StorageStrategy storageStrategy;
@PostMapping("create")
private final StorageStrategy storageStrategy;
@PostMapping("create")
- public Mono<ChatRoomTo> create(@RequestBody String name)
+ public Mono<ChatRoom
Info
To> create(@RequestBody String name)
{
{
- return chatHome.createChatroom(name).map(ChatRoomTo::from);
+ UUID chatRoomId = UUID.randomUUID();
+ return chatHomeService
+ .createChatRoom(chatRoomId, name)
+ .map(ChatRoomInfoTo::from);
}
@GetMapping("list")
}
@GetMapping("list")
- public Flux<ChatRoomTo> list()
+ public Flux<ChatRoom
Info
To> list()
{
{
- return chatHome.getChatRooms().map(chatroom -> ChatRoomTo.from(chatroom));
+ return chatHomeService
+ .getChatRoomInfo()
+ .map(chatroomInfo -> ChatRoomInfoTo.from(chatroomInfo));
}
}
- @GetMapping("
list/{chatroomId}
")
- public Flux<MessageTo> list(@PathVariable UUID chat
r
oomId)
+ @GetMapping("
{chatRoomId}/list
")
+ public Flux<MessageTo> list(@PathVariable UUID chat
R
oomId)
{
{
- return chatHome
- .getChatRoom
(chatr
oomId)
- .flatMapMany(chat
room -> chatroom
+ return chatHome
Service
+ .getChatRoom
Data(chatR
oomId)
+ .flatMapMany(chat
RoomData -> chatRoomData
.getMessages()
.map(MessageTo::from));
}
.getMessages()
.map(MessageTo::from));
}
- @GetMapping("
get/{chatr
oomId}")
- public Mono<ChatRoom
To> get(@PathVariable UUID chatr
oomId)
+ @GetMapping("
{chatR
oomId}")
+ public Mono<ChatRoom
InfoTo> get(@PathVariable UUID chatR
oomId)
{
{
- return chatHome.getChatRoom(chatroomId).map(chatroom -> ChatRoomTo.from(chatroom));
+ return chatHomeService
+ .getChatRoomInfo(chatRoomId)
+ .map(chatRoomInfo -> ChatRoomInfoTo.from(chatRoomInfo));
}
}
- @PutMapping("
put/{chatr
oomId}/{username}/{messageId}")
+ @PutMapping("
{chatR
oomId}/{username}/{messageId}")
public Mono<MessageTo> put(
public Mono<MessageTo> put(
- @PathVariable UUID chat
r
oomId,
+ @PathVariable UUID chat
R
oomId,
@PathVariable String username,
@PathVariable Long messageId,
@RequestBody String text)
{
return
@PathVariable String username,
@PathVariable Long messageId,
@RequestBody String text)
{
return
- chatHome
- .getChatRoom
(chatr
oomId)
- .flatMap(chat
room -> put(chatroom
, username, messageId, text));
+ chatHome
Service
+ .getChatRoom
Data(chatR
oomId)
+ .flatMap(chat
RoomData -> put(chatRoomData
, username, messageId, text));
}
}
- p
ublic
Mono<MessageTo> put(
- ChatRoom
chatroom
,
+ p
rivate
Mono<MessageTo> put(
+ ChatRoom
Data chatRoomData
,
String username,
Long messageId,
String text)
{
return
String username,
Long messageId,
String text)
{
return
- chat
room
+ chat
RoomData
.addMessage(
messageId,
username,
.addMessage(
messageId,
username,
@@
-76,40
+83,40
@@
public class ChatBackendController
.map(message -> MessageTo.from(message));
}
.map(message -> MessageTo.from(message));
}
- @GetMapping("
get/{chatr
oomId}/{username}/{messageId}")
+ @GetMapping("
{chatR
oomId}/{username}/{messageId}")
public Mono<MessageTo> get(
public Mono<MessageTo> get(
- @PathVariable UUID chat
r
oomId,
+ @PathVariable UUID chat
R
oomId,
@PathVariable String username,
@PathVariable Long messageId)
{
return
@PathVariable String username,
@PathVariable Long messageId)
{
return
- chatHome
- .getChatRoom
(chatr
oomId)
- .flatMap(chat
room -> get(chatroom
, username, messageId));
+ chatHome
Service
+ .getChatRoom
Data(chatR
oomId)
+ .flatMap(chat
RoomData -> get(chatRoomData
, username, messageId));
}
private Mono<MessageTo> get(
}
private Mono<MessageTo> get(
- ChatRoom
chatroom
,
+ ChatRoom
Data chatRoomData
,
String username,
Long messageId)
{
return
String username,
Long messageId)
{
return
- chat
room
+ chat
RoomData
.getMessage(username, messageId)
.map(message -> MessageTo.from(message));
}
.getMessage(username, messageId)
.map(message -> MessageTo.from(message));
}
- @GetMapping(path = "
listen/{chatroomId}
")
- public Flux<ServerSentEvent<MessageTo>> listen(@PathVariable UUID chat
r
oomId)
+ @GetMapping(path = "
{chatRoomId}/listen
")
+ public Flux<ServerSentEvent<MessageTo>> listen(@PathVariable UUID chat
R
oomId)
{
{
- return chatHome
- .getChatRoom
(chatr
oomId)
- .flatMapMany(chat
room -> listen(chatroom
));
+ return chatHome
Service
+ .getChatRoom
Data(chatR
oomId)
+ .flatMapMany(chat
RoomData -> listen(chatRoomData
));
}
}
- private Flux<ServerSentEvent<MessageTo>> listen(ChatRoom
chatroom
)
+ private Flux<ServerSentEvent<MessageTo>> listen(ChatRoom
Data chatRoomData
)
{
{
- return chat
room
+ return chat
RoomData
.listen()
.log()
.map(message -> MessageTo.from(message))
.listen()
.log()
.map(message -> MessageTo.from(message))
@@
-124,6
+131,6
@@
public class ChatBackendController
@PostMapping("/store")
public void store()
{
@PostMapping("/store")
public void store()
{
- storageStrategy.write(chatHome
.getChatRooms()
);
+ storageStrategy.write(chatHome
Service
);
}
}
}
}