diff --git a/java/services/users/src/main/java/com/uva/users/Controllers/UserController.java b/java/services/users/src/main/java/com/uva/users/Controllers/UserController.java index 667ef874da6609e8a68a15d1250a38a46d9bc415..30274d83e081b0d39b701e3c711b63b2e06ee5eb 100644 --- a/java/services/users/src/main/java/com/uva/users/Controllers/UserController.java +++ b/java/services/users/src/main/java/com/uva/users/Controllers/UserController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import org.springframework.core.ParameterizedTypeReference; @@ -124,4 +125,12 @@ public class UserController { ); return response.getBody(); } + + @GetMapping(params = "email") + public ResponseEntity<User> getUserByEmail(@RequestParam String email) { + return userRepository.findByEmail(email) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.noContent().build()); +} + } diff --git a/java/services/users/src/main/java/com/uva/users/Models/User.java b/java/services/users/src/main/java/com/uva/users/Models/User.java index 43a153a5515c00a9b6802708de66eb848683e533..455ef0282362759424cba7a75a3385073de48e4e 100644 --- a/java/services/users/src/main/java/com/uva/users/Models/User.java +++ b/java/services/users/src/main/java/com/uva/users/Models/User.java @@ -26,14 +26,18 @@ public class User { @Enumerated(EnumType.STRING) private UserStatus status = UserStatus.NO_BOOKINGS; + @Basic (optional = false) + private String password; + public User() { } - public User(int id, String name, String email, UserStatus status) { + public User(int id, String name, String email, UserStatus status, String password) { setId(id); setName(name); setEmail(email); setStatus(status); + setPassword(password); } // Getters y setters @@ -68,4 +72,12 @@ public class User { public void setStatus(UserStatus status) { this.status = status; } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } } diff --git a/java/services/users/src/main/java/com/uva/users/Repositories/UserRepository.java b/java/services/users/src/main/java/com/uva/users/Repositories/UserRepository.java index be753559189a0d0b950a7406d4f3ede790c04a23..730510d96586d62c9596fae8b711c06840cd2ff9 100644 --- a/java/services/users/src/main/java/com/uva/users/Repositories/UserRepository.java +++ b/java/services/users/src/main/java/com/uva/users/Repositories/UserRepository.java @@ -1,9 +1,11 @@ package com.uva.users.Repositories; +import java.util.Optional; + import org.springframework.data.jpa.repository.JpaRepository; import com.uva.users.Models.User; public interface UserRepository extends JpaRepository<User, Integer> { - + Optional<User> findByEmail(String email); }