use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class UsersServiceFacadeImpl method getUserStatusByEmail.
@Override
public UserStatus getUserStatusByEmail(String email) throws FieldValidationException {
ValidationContext ctx = new ValidationContext();
ctx.validateNotEmpty(email, LoginParams.FN_EMAIL);
ctx.throwIfHasErrors();
// Check if user have record
User user = null;
try {
user = userService.getUserByEmail(email);
} catch (UserNotFoundException nfe) {
return UserStatus.NotExists;
}
// Check if user has ROLE_USER
List<String> permissions = permissionService.findUserPermissionsForSubject(SecurityConstants.DOMAIN, user.getUuid(), null);
if (permissions.contains(SecurityConstants.ROLE_USER)) {
return UserStatus.NormalUser;
}
if (permissions.contains(SecurityConstants.MARKER_AWAITING_ACTIVATION)) {
return UserStatus.AwaitingActivation;
}
return UserStatus.Provisioned;
}
Aggregations