From 8ba8fde89aa565c356285f16a6f51b6a8b61d959 Mon Sep 17 00:00:00 2001 From: Alexandr Juncevich Date: Wed, 13 Dec 2023 23:52:01 +0300 Subject: [PATCH] Add user controller --- .../chatservice/user/UserController.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 chat-service/src/main/java/com/relay/chatservice/user/UserController.java 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()); + } +}