diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index 8b9f44037013758e5f6f6547dea02a60b79a8867..5f2080cd4c56159cc373f90d6b8e5ab8862f57c5 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -28,6 +28,8 @@ import java.util.UUID; * The functionality the user service should provide. */ public interface UserService { + UserProfile getCurrentUserProfile(); + UserAuthentication getCurrentUser(); boolean isAdmin(String username); @@ -58,6 +60,8 @@ public interface UserService { int loggedInUsers(); + UserProfile getByAuthProviderAndLoginId(UserProfile.AuthProvider authProvider, String loginId); + UserProfile getByUsername(String username); UserProfile create(String username, String password); diff --git a/src/main/java/de/thm/arsnova/services/UserServiceImpl.java b/src/main/java/de/thm/arsnova/services/UserServiceImpl.java index 31c1916c32cb30d1701daec9eeb39f8b91dc3862..ba74b49cdd46efc1de4c5047c7d3fe6ffb6a5cb5 100644 --- a/src/main/java/de/thm/arsnova/services/UserServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/UserServiceImpl.java @@ -179,6 +179,12 @@ public class UserServiceImpl implements UserService { userRepository.deleteInactiveUsers(lastActivityBefore); } + @Override + public UserProfile getCurrentUserProfile() { + final UserAuthentication authentication = getCurrentUser(); + return getByAuthProviderAndLoginId(authentication.getAuthProvider(), authentication.getUsername()); + } + @Override public UserAuthentication getCurrentUser() { final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @@ -355,6 +361,11 @@ public class UserServiceImpl implements UserService { return userToRoomId.size(); } + @Override + public UserProfile getByAuthProviderAndLoginId(final UserProfile.AuthProvider authProvider, final String loginId) { + return userRepository.findByAuthProviderAndLoginId(authProvider, loginId); + } + @Override public UserProfile getByUsername(String username) { return userRepository.findByAuthProviderAndLoginId(UserProfile.AuthProvider.ARSNOVA, username.toLowerCase());