package org.asamk.signal.json;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
+import org.asamk.signal.manager.api.MessageEnvelope;
import org.asamk.signal.util.Util;
-import org.whispersystems.signalservice.api.messages.shared.SharedContact;
-
-public class JsonContactName {
-
- @JsonProperty
- private final String display;
-
- @JsonProperty
- private final String given;
-
- @JsonProperty
- private final String family;
-
- @JsonProperty
- private final String prefix;
-
- @JsonProperty
- private final String suffix;
-
- @JsonProperty
- private final String middle;
- public JsonContactName(SharedContact.Name name) {
- display = Util.getStringIfNotBlank(name.getDisplay());
- given = Util.getStringIfNotBlank(name.getGiven());
- family = Util.getStringIfNotBlank(name.getFamily());
- prefix = Util.getStringIfNotBlank(name.getPrefix());
- suffix = Util.getStringIfNotBlank(name.getSuffix());
- middle = Util.getStringIfNotBlank(name.getMiddle());
+public record JsonContactName(
+ String nickname, String given, String family, String prefix, String suffix, String middle
+) {
+
+ static JsonContactName from(MessageEnvelope.Data.SharedContact.Name name) {
+ return new JsonContactName(Util.getStringIfNotBlank(name.nickname()),
+ Util.getStringIfNotBlank(name.given()),
+ Util.getStringIfNotBlank(name.family()),
+ Util.getStringIfNotBlank(name.prefix()),
+ Util.getStringIfNotBlank(name.suffix()),
+ Util.getStringIfNotBlank(name.middle()));
}
}