From 84419ebd970083fc2d2b7176fa98243f820d515b Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Wed, 1 Mar 2023 18:20:25 +0200 Subject: [PATCH] make additional_info not null --- .../server/dao/user/UserServiceImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java index 12265d526c..8017c319b7 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java +++ b/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())); - userCredentialsDao.save(user.getTenantId(), userCredentials); + userCredentials.setAdditionalInfo(JacksonUtil.newObjectNode()); + checkAdditionalInfoAndSaveUserCredentials(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 userCredentialsDao.save(tenantId, userCredentials); + return checkAdditionalInfoAndSaveUserCredentials(tenantId, userCredentials); } @Override @@ -216,7 +217,7 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic if (userCredentials.getPassword() != null) { updatePasswordHistory(userCredentials); } - return userCredentialsDao.save(tenantId, userCredentials); + return checkAdditionalInfoAndSaveUserCredentials(tenantId, userCredentials); } @Override @@ -347,9 +348,16 @@ 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 instanceof ObjectNode)) { + if (additionalInfo == null) { additionalInfo = JacksonUtil.newObjectNode(); } Map userPasswordHistoryMap = null;