Check user's additionalInfo for nullity

This commit is contained in:
ViacheslavKlimov 2023-08-07 16:50:10 +03:00
parent b25fd961d4
commit d3710b411f

View File

@ -54,8 +54,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import static java.util.function.Predicate.not;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class DefaultNotificationSettingsService implements NotificationSettingsService { public class DefaultNotificationSettingsService implements NotificationSettingsService {
@ -107,8 +105,8 @@ public class DefaultNotificationSettingsService implements NotificationSettingsS
@Override @Override
public UserNotificationSettings getUserNotificationSettings(TenantId tenantId, User user, boolean format) { public UserNotificationSettings getUserNotificationSettings(TenantId tenantId, User user, boolean format) {
UserNotificationSettings settings = Optional.ofNullable(user.getAdditionalInfo().get(USER_SETTINGS_KEY)) UserNotificationSettings settings = Optional.ofNullable(user.getAdditionalInfo())
.filter(not(JsonNode::isNull)) .filter(JsonNode::isObject).map(info -> info.get(USER_SETTINGS_KEY)).filter(JsonNode::isObject)
.map(json -> JacksonUtil.treeToValue(json, UserNotificationSettings.class)) .map(json -> JacksonUtil.treeToValue(json, UserNotificationSettings.class))
.orElse(UserNotificationSettings.DEFAULT); .orElse(UserNotificationSettings.DEFAULT);
if (format) { if (format) {