use of io.gravitee.repository.management.model.User in project gravitee-management-rest-api by gravitee-io.
the class UserServiceImpl method convert.
private static User convert(NewUserEntity newUserEntity) {
if (newUserEntity == null) {
return null;
}
User user = new User();
user.setUsername(newUserEntity.getUsername());
user.setEmail(newUserEntity.getEmail());
user.setFirstname(newUserEntity.getFirstname());
user.setLastname(newUserEntity.getLastname());
user.setPassword(newUserEntity.getPassword());
return user;
}
use of io.gravitee.repository.management.model.User in project gravitee-management-rest-api by gravitee-io.
the class UserServiceImpl method create.
/**
* Allows to pre-create a user.
* @param newExternalUserEntity
* @return
*/
@Override
public UserEntity create(NewExternalUserEntity newExternalUserEntity, boolean addDefaultRole) {
try {
LOGGER.debug("Create an external user {}", newExternalUserEntity);
Optional<User> checkUser = userRepository.findById(newExternalUserEntity.getUsername());
if (checkUser.isPresent()) {
throw new UsernameAlreadyExistsException(newExternalUserEntity.getUsername());
}
User user = convert(newExternalUserEntity);
user.setId(UUID.toString(UUID.random()));
// Set date fields
user.setCreatedAt(new Date());
user.setUpdatedAt(user.getCreatedAt());
User createdUser = userRepository.create(user);
auditService.createPortalAuditLog(Collections.singletonMap(USER, user.getUsername()), User.AuditEvent.USER_CREATED, user.getCreatedAt(), null, user);
if (addDefaultRole) {
addDefaultMembership(createdUser);
}
return convert(createdUser, true);
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to create an external user {}", newExternalUserEntity, ex);
throw new TechnicalManagementException("An error occurs while trying to create an external user" + newExternalUserEntity, ex);
}
}
Aggregations