diff --git a/chat-service/src/main/java/com/relay/chatservice/user/UserController.java b/chat-service/src/main/java/com/relay/chatservice/user/UserController.java new file mode 100644 index 00000000..1092fce4 --- /dev/null +++ b/chat-service/src/main/java/com/relay/chatservice/user/UserController.java @@ -0,0 +1,40 @@ +package com.relay.chatservice.user; + +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.messaging.handler.annotation.MessageMapping; +import org.springframework.messaging.handler.annotation.Payload; +import org.springframework.messaging.handler.annotation.SendTo; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class UserController { + private final UserService userService; + + @MessageMapping("/user.addUser") + @SendTo("/user/topic") + public User addUser( + @Payload User user + ) { + userService.saveUser(user); + return user; + } + + @MessageMapping("/user.disconnect") + @SendTo("/user/topic") + public User disconnect( + @Payload User user + ) { + userService.disconnect(user); + return user; + } + + @GetMapping("/users") + public ResponseEntity> findConnectedUsers() { + return ResponseEntity.ok(userService.findConnectedUsers()); + } +}