X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed..19b15e68e4ec652e23f9625662b7c0f96b963029:/src/main/java/org/asamk/signal/json/JsonSharedContact.java diff --git a/src/main/java/org/asamk/signal/json/JsonSharedContact.java b/src/main/java/org/asamk/signal/json/JsonSharedContact.java index f52be3eb..d898c63f 100644 --- a/src/main/java/org/asamk/signal/json/JsonSharedContact.java +++ b/src/main/java/org/asamk/signal/json/JsonSharedContact.java @@ -2,43 +2,37 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonInclude; -import org.whispersystems.signalservice.api.messages.shared.SharedContact; +import org.asamk.signal.manager.api.MessageEnvelope; import java.util.List; -import java.util.stream.Collectors; public record JsonSharedContact( JsonContactName name, - JsonContactAvatar avatar, + @JsonInclude(JsonInclude.Include.NON_NULL) JsonContactAvatar avatar, @JsonInclude(JsonInclude.Include.NON_NULL) List phone, @JsonInclude(JsonInclude.Include.NON_NULL) List email, @JsonInclude(JsonInclude.Include.NON_NULL) List address, String organization ) { - static JsonSharedContact from(SharedContact contact) { - final var name = JsonContactName.from(contact.getName()); - final var avatar = contact.getAvatar().isPresent() ? JsonContactAvatar.from(contact.getAvatar().get()) : null; + static JsonSharedContact from(MessageEnvelope.Data.SharedContact contact) { + final var name = JsonContactName.from(contact.name()); + final var avatar = contact.avatar().isPresent() ? JsonContactAvatar.from(contact.avatar().get()) : null; - final var phone = contact.getPhone().isPresent() ? contact.getPhone() - .get() - .stream() - .map(JsonContactPhone::from) - .collect(Collectors.toList()) : null; + final var phone = !contact.phone().isEmpty() + ? contact.phone().stream().map(JsonContactPhone::from).toList() + : null; - final var email = contact.getEmail().isPresent() ? contact.getEmail() - .get() - .stream() - .map(JsonContactEmail::from) - .collect(Collectors.toList()) : null; + final var email = !contact.email().isEmpty() + ? contact.email().stream().map(JsonContactEmail::from).toList() + : null; - final var address = contact.getAddress().isPresent() ? contact.getAddress() - .get() + final var address = !contact.address().isEmpty() ? contact.address() .stream() .map(JsonContactAddress::from) - .collect(Collectors.toList()) : null; + .toList() : null; - final var organization = contact.getOrganization().orNull(); + final var organization = contact.organization().orElse(null); return new JsonSharedContact(name, avatar, phone, email, address, organization); }