@ -127,7 +127,8 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
userCredentials . setEnabled ( false ) ;
userCredentials . setActivateToken ( generateSafeToken ( DEFAULT_TOKEN_LENGTH ) ) ;
userCredentials . setUserId ( new UserId ( savedUser . getUuidId ( ) ) ) ;
saveUserCredentialsAndPasswordHistory ( user . getTenantId ( ) , userCredentials ) ;
userCredentials . setAdditionalInfo ( JacksonUtil . newObjectNode ( ) ) ;
userCredentialsDao . save ( user . getTenantId ( ) , userCredentials ) ;
}
return savedUser ;
}
@ -157,7 +158,7 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
public UserCredentials saveUserCredentials ( TenantId tenantId , UserCredentials userCredentials ) {
log . trace ( "Executing saveUserCredentials [{}]" , userCredentials ) ;
userCredentialsValidator . validate ( userCredentials , data - > tenantId ) ;
return saveUserCredentialsAndPasswordHistory ( tenantId , userCredentials ) ;
return userCredentialsDao . save ( tenantId , userCredentials ) ;
}
@Override
@ -175,7 +176,9 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
userCredentials . setEnabled ( true ) ;
userCredentials . setActivateToken ( null ) ;
userCredentials . setPassword ( password ) ;
if ( userCredentials . getPassword ( ) ! = null ) {
updatePasswordHistory ( userCredentials ) ;
}
return saveUserCredentials ( tenantId , userCredentials ) ;
}
@ -211,7 +214,10 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
userCredentialsValidator . validate ( userCredentials , data - > tenantId ) ;
userCredentialsDao . removeById ( tenantId , userCredentials . getUuidId ( ) ) ;
userCredentials . setId ( null ) ;
return saveUserCredentialsAndPasswordHistory ( tenantId , userCredentials ) ;
if ( userCredentials . getPassword ( ) ! = null ) {
updatePasswordHistory ( userCredentials ) ;
}
return userCredentialsDao . save ( tenantId , userCredentials ) ;
}
@Override
@ -342,17 +348,8 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
return failedLoginAttempts ;
}
private UserCredentials saveUserCredentialsAndPasswordHistory ( TenantId tenantId , UserCredentials userCredentials ) {
UserCredentials result = userCredentialsDao . save ( tenantId , userCredentials ) ;
User user = findUserById ( tenantId , userCredentials . getUserId ( ) ) ;
if ( userCredentials . getPassword ( ) ! = null ) {
updatePasswordHistory ( user , userCredentials ) ;
}
return result ;
}
private void updatePasswordHistory ( User user , UserCredentials userCredentials ) {
JsonNode additionalInfo = user . getAdditionalInfo ( ) ;
private void updatePasswordHistory ( UserCredentials userCredentials ) {
JsonNode additionalInfo = userCredentials . getAdditionalInfo ( ) ;
if ( ! ( additionalInfo instanceof ObjectNode ) ) {
additionalInfo = JacksonUtil . newObjectNode ( ) ;
}
@ -373,8 +370,7 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
userPasswordHistoryJson = JacksonUtil . valueToTree ( userPasswordHistoryMap ) ;
( ( ObjectNode ) additionalInfo ) . set ( USER_PASSWORD_HISTORY , userPasswordHistoryJson ) ;
}
user . setAdditionalInfo ( additionalInfo ) ;
saveUser ( user ) ;
userCredentials . setAdditionalInfo ( additionalInfo ) ;
}
private final PaginatedRemover < TenantId , User > tenantAdminsRemover = new PaginatedRemover < > ( ) {