From b81f9ea54393089805ae3ceff6327e767e34ac74 Mon Sep 17 00:00:00 2001 From: esensar Date: Sat, 15 Sep 2018 14:36:11 +0200 Subject: [PATCH] Add get logged in user route --- .../ba/steleks/storage/StorageProperties.java | 2 +- .../controller/AuthenticationController.java | 1 - .../ba/steleks/controller/UserController.java | 40 +++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 users/src/main/java/ba/steleks/controller/UserController.java diff --git a/common/src/main/java/ba/steleks/storage/StorageProperties.java b/common/src/main/java/ba/steleks/storage/StorageProperties.java index 2a1017c..d79023b 100644 --- a/common/src/main/java/ba/steleks/storage/StorageProperties.java +++ b/common/src/main/java/ba/steleks/storage/StorageProperties.java @@ -13,7 +13,7 @@ public class StorageProperties { private String location; public String getLocation() { - return location; + return "/Users/ensar.sarajcic/Steleks"; } public void setLocation(String location) { diff --git a/users/src/main/java/ba/steleks/controller/AuthenticationController.java b/users/src/main/java/ba/steleks/controller/AuthenticationController.java index bc518da..4a0ff1c 100644 --- a/users/src/main/java/ba/steleks/controller/AuthenticationController.java +++ b/users/src/main/java/ba/steleks/controller/AuthenticationController.java @@ -27,7 +27,6 @@ public class AuthenticationController { private TokenStore tokenStore; @Autowired - public AuthenticationController(UsersJpaRepository usersJpaRepository, PasswordEncoder passwordEncoder, TokenStore tokenStore) { this.usersJpaRepository = usersJpaRepository; this.passwordEncoder = passwordEncoder; diff --git a/users/src/main/java/ba/steleks/controller/UserController.java b/users/src/main/java/ba/steleks/controller/UserController.java new file mode 100644 index 0000000..85135e7 --- /dev/null +++ b/users/src/main/java/ba/steleks/controller/UserController.java @@ -0,0 +1,40 @@ +package ba.steleks.controller; + +import ba.steleks.model.User; +import ba.steleks.repository.UsersJpaRepository; +import ba.steleks.util.ProxyHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.Map; + +@RestController +public class UserController { + + private UsersJpaRepository usersJpaRepository; + + @Autowired + public UserController(UsersJpaRepository usersJpaRepository) { + this.usersJpaRepository = usersJpaRepository; + } + + @RequestMapping(path = "/users/current", method = RequestMethod.GET) + public ResponseEntity getCurrentUser(@RequestHeader(ProxyHeaders.USER_ID) String userIdString) { + long userId = Long.parseLong(userIdString); + User user = usersJpaRepository.findOne(userId); + if (user != null) { + System.out.println("Found user with id: " + userId); + return ResponseEntity + .ok() + .body(user); + } else { + System.out.println("Found no user with id: " + userId); + return ResponseEntity + .status(HttpStatus.NOT_FOUND) + .build(); + } + } +}