Take no action if badge list is omitted entirely
This commit is contained in:
parent
ebf24fb125
commit
6b71b66bd2
|
@ -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());
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue