package ru.tubryansk.tdms.controller; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import ru.tubryansk.tdms.controller.payload.LoginDTO; import ru.tubryansk.tdms.controller.payload.RegistrationDTO; import ru.tubryansk.tdms.controller.payload.UserDTO; import ru.tubryansk.tdms.service.AuthenticationService; import ru.tubryansk.tdms.service.CallerService; import ru.tubryansk.tdms.service.UserService; import java.util.List; @RestController @RequestMapping("/api/v1/user") @Slf4j public class UserController { @Autowired private AuthenticationService authenticationService; @Autowired private CallerService callerService; @Autowired private UserService userService; @GetMapping("/current") public UserDTO getCurrentUser() { return callerService.getCallerUserDTO(); } @PostMapping("/logout") public void logout() { authenticationService.logout(); } @PostMapping("/login") public void login(@RequestBody @Valid LoginDTO loginDTO) { authenticationService.login(loginDTO.getUsername(), loginDTO.getPassword()); } @PostMapping("/register") public void post(@RequestBody @Valid RegistrationDTO registrationDTO) { userService.registerUser(registrationDTO); } @GetMapping("/get-all") public List getAllUsers() { return userService.getAllUsers(); } }