Take no action if badge list is omitted entirely

This commit is contained in:
Jon Chambers 2021-11-24 13:38:42 -05:00 committed by Jon Chambers
parent ebf24fb125
commit 6b71b66bd2
2 changed files with 9 additions and 7 deletions

View File

@ -187,8 +187,9 @@ public class ProfileController {
response = Optional.of(generateAvatarUploadForm(avatar)); response = Optional.of(generateAvatarUploadForm(avatar));
} }
List<AccountBadge> updatedBadges = mergeBadgeIdsWithExistingAccountBadges( List<AccountBadge> updatedBadges = request.getBadges()
request.getBadges(), auth.getAccount().getBadges()); .map(badges -> mergeBadgeIdsWithExistingAccountBadges(badges, auth.getAccount().getBadges()))
.orElseGet(() -> auth.getAccount().getBadges());
accountsManager.update(auth.getAccount(), a -> { accountsManager.update(auth.getAccount(), a -> {
a.setProfileName(request.getName()); a.setProfileName(request.getName());

View File

@ -8,8 +8,9 @@ package org.whispersystems.textsecuregcm.entities;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -42,8 +43,8 @@ public class CreateProfileRequest {
private String paymentAddress; private String paymentAddress;
@JsonProperty @JsonProperty
@NotNull @Nullable
private List<String> badgeIds = new ArrayList<>(); private List<String> badgeIds;
@JsonProperty @JsonProperty
@NotNull @NotNull
@ -95,7 +96,7 @@ public class CreateProfileRequest {
return StringUtils.stripToNull(paymentAddress); return StringUtils.stripToNull(paymentAddress);
} }
public List<String> getBadges() { public Optional<List<String>> getBadges() {
return badgeIds; return Optional.ofNullable(badgeIds);
} }
} }