This repository has been archived on 2022-07-05. You can view files and clone it, but cannot push or open issues/pull-requests.
steleks_backend/users/src/main/java/ba/steleks/controller/UserController.java

76 lines
2.8 KiB
Java

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.util.MultiValueMap;
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();
}
}
@RequestMapping(path = "/users/current", method = RequestMethod.PATCH)
public ResponseEntity<?> updateCurrentUser(@RequestHeader(ProxyHeaders.USER_ID) String userIdString, @RequestBody Map<String, Object> newUser) {
long userId = Long.parseLong(userIdString);
System.out.println("hepek");
User user = usersJpaRepository.findOne(userId);
if (user != null) {
System.out.println("Found user with id: " + userId);
if (newUser.get("firstName") != null) {
user.setFirstName(newUser.get("firstName").toString());
}
if (newUser.get("lastName") != null) {
user.setLastName(newUser.get("lastName").toString());
}
if (newUser.get("username") != null) {
user.setUsername(newUser.get("username").toString());
}
if (newUser.get("contactNumber") != null) {
user.setContactNumber(newUser.get("contactNumber").toString());
}
if (newUser.get("email") != null) {
user.setEmail(newUser.get("email").toString());
}
usersJpaRepository.save(user);
return ResponseEntity
.ok()
.body(user);
} else {
System.out.println("Found no user with id: " + userId);
return ResponseEntity
.status(HttpStatus.NOT_FOUND)
.build();
}
}
}