Add badge entity to profile

This commit is contained in:
Ehren Kret
2021-09-03 14:34:34 -05:00
parent 2059bb5ef8
commit fbbc1bec58
3 changed files with 89 additions and 36 deletions

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2021 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.entities;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.net.URL;
public class Badge {
private URL imageUrl;
private String name;
private String description;
@JsonCreator
public Badge(
@JsonProperty("imageUrl") final URL imageUrl,
@JsonProperty("name") final String name,
@JsonProperty("description") final String description) {
this.imageUrl = imageUrl;
this.name = name;
this.description = description;
}
public URL getImageUrl() {
return imageUrl;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}

View File

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.google.common.annotations.VisibleForTesting;
import java.util.List;
import java.util.UUID;
import org.signal.zkgroup.profiles.ProfileKeyCredentialResponse;
@@ -47,6 +48,9 @@ public class Profile {
@JsonProperty
private UUID uuid;
@JsonProperty
private List<Badge> badges;
@JsonProperty
@JsonSerialize(using = ProfileKeyCredentialResponseAdapter.Serializing.class)
@JsonDeserialize(using = ProfileKeyCredentialResponseAdapter.Deserializing.class)
@@ -57,7 +61,7 @@ public class Profile {
public Profile(
String name, String about, String aboutEmoji, String avatar, String paymentAddress, String identityKey,
String unidentifiedAccess, boolean unrestrictedUnidentifiedAccess, UserCapabilities capabilities, String username,
UUID uuid, ProfileKeyCredentialResponse credential)
UUID uuid, final List<Badge> badges, ProfileKeyCredentialResponse credential)
{
this.name = name;
this.about = about;
@@ -70,6 +74,7 @@ public class Profile {
this.capabilities = capabilities;
this.username = username;
this.uuid = uuid;
this.badges = badges;
this.credential = credential;
}
@@ -124,4 +129,8 @@ public class Profile {
public UUID getUuid() {
return uuid;
}
public List<Badge> getBadges() {
return badges;
}
}