Browse Source

refactoring

pull/8110/head
dashevchenko 3 years ago
parent
commit
e5ba36a13b
  1. 2
      application/src/main/data/upgrade/3.4.4/schema_update.sql
  2. 16
      dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java

2
application/src/main/data/upgrade/3.4.4/schema_update.sql

@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS user_settings (
);
ALTER TABLE user_credentials
ADD COLUMN IF NOT EXISTS additional_info varchar DEFAULT '{}';
ADD COLUMN IF NOT EXISTS additional_info varchar NOT NULL DEFAULT '{}';
UPDATE user_credentials
SET additional_info = json_build_object('userPasswordHistory', (u.additional_info::json -> 'userPasswordHistory'))

16
dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java

@ -127,7 +127,8 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
userCredentials.setEnabled(false);
userCredentials.setActivateToken(StringUtils.randomAlphanumeric(DEFAULT_TOKEN_LENGTH));
userCredentials.setUserId(new UserId(savedUser.getUuidId()));
checkAdditionalInfoAndSaveUserCredentials(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 checkAdditionalInfoAndSaveUserCredentials(tenantId, userCredentials);
return userCredentialsDao.save(tenantId, userCredentials);
}
@Override
@ -216,7 +217,7 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
if (userCredentials.getPassword() != null) {
updatePasswordHistory(userCredentials);
}
return checkAdditionalInfoAndSaveUserCredentials(tenantId, userCredentials);
return userCredentialsDao.save(tenantId, userCredentials);
}
@Override
@ -347,16 +348,9 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
return failedLoginAttempts;
}
private UserCredentials checkAdditionalInfoAndSaveUserCredentials(TenantId tenantId, UserCredentials userCredentials) {
if (userCredentials.getAdditionalInfo() == null){
userCredentials.setAdditionalInfo(JacksonUtil.newObjectNode());
}
return userCredentialsDao.save(tenantId, userCredentials);
}
private void updatePasswordHistory(UserCredentials userCredentials) {
JsonNode additionalInfo = userCredentials.getAdditionalInfo();
if (additionalInfo == null) {
if (!(additionalInfo instanceof ObjectNode)) {
additionalInfo = JacksonUtil.newObjectNode();
}
Map<String, String> userPasswordHistoryMap = null;

Loading…
Cancel
Save