From 219bcea7599bc953eda873014c8b08a1a63129bc Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Sun, 4 Feb 2018 10:59:24 +0100 Subject: [PATCH] Add methods to retrieve non-native users --- .../java/de/thm/arsnova/services/UserService.java | 4 ++++ .../java/de/thm/arsnova/services/UserServiceImpl.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index 8b9f44037..5f2080cd4 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 31c1916c3..ba74b49cd 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()); -- GitLab