added search by email to user info data stack
parent
ba0c679e60
commit
5aa5cc1a10
|
@ -33,15 +33,19 @@ import com.google.gson.JsonObject;
|
|||
@Entity
|
||||
@Table(name="user_info")
|
||||
@NamedQueries({
|
||||
@NamedQuery(name=DefaultUserInfo.QUERY_BY_USERNAME, query = "select u from DefaultUserInfo u WHERE u.preferredUsername = :" + DefaultUserInfo.PARAM_USERNAME)
|
||||
@NamedQuery(name=DefaultUserInfo.QUERY_BY_USERNAME, query = "select u from DefaultUserInfo u WHERE u.preferredUsername = :" + DefaultUserInfo.PARAM_USERNAME),
|
||||
@NamedQuery(name=DefaultUserInfo.QUERY_BY_EMAIL, query = "select u from DefaultUserInfo u WHERE u.email = :" + DefaultUserInfo.PARAM_EMAIL)
|
||||
})
|
||||
public class DefaultUserInfo implements UserInfo {
|
||||
|
||||
public static final String QUERY_BY_USERNAME = "DefaultUserInfo.getByUsername";
|
||||
public static final String QUERY_BY_EMAIL = "DefaultUserInfo.getByEmailAddress";
|
||||
|
||||
public static final String PARAM_USERNAME = "username";
|
||||
public static final String PARAM_EMAIL = "email";
|
||||
|
||||
private static final long serialVersionUID = 6078310513185681918L;
|
||||
|
||||
private Long id;
|
||||
private String sub;
|
||||
private String preferredUsername;
|
||||
|
|
|
@ -33,4 +33,13 @@ public interface UserInfoRepository {
|
|||
*/
|
||||
public UserInfo getByUsername(String username);
|
||||
|
||||
/**
|
||||
*
|
||||
* Get the UserInfo object by its email field
|
||||
*
|
||||
* @param email
|
||||
* @return
|
||||
*/
|
||||
public UserInfo getByEmailAddress(String email);
|
||||
|
||||
}
|
||||
|
|
|
@ -44,4 +44,12 @@ public interface UserInfoService {
|
|||
*/
|
||||
public UserInfo getByUsernameAndClientId(String username, String clientId);
|
||||
|
||||
/**
|
||||
* Get the user registered at this server with the given email address.
|
||||
*
|
||||
* @param email
|
||||
* @return
|
||||
*/
|
||||
public UserInfo getByEmailAddress(String email);
|
||||
|
||||
}
|
||||
|
|
|
@ -51,4 +51,15 @@ public class JpaUserInfoRepository implements UserInfoRepository {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a single UserInfo object by its email address
|
||||
*/
|
||||
@Override
|
||||
public UserInfo getByEmailAddress(String email) {
|
||||
TypedQuery<DefaultUserInfo> query = manager.createNamedQuery(DefaultUserInfo.QUERY_BY_EMAIL, DefaultUserInfo.class);
|
||||
query.setParameter(DefaultUserInfo.PARAM_EMAIL, email);
|
||||
|
||||
return getSingleResult(query.getResultList());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -69,4 +69,9 @@ public class DefaultUserInfoService implements UserInfoService {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserInfo getByEmailAddress(String email) {
|
||||
return userInfoRepository.getByEmailAddress(email);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue