X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/46a4c2c0d0a36b7f230fc2c2d47aa371a6e02d35..5cccf521032954d7ad8e3f70e3cbef2ce1293e85:/src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java diff --git a/src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java b/src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java index f3f809dc..e5022798 100644 --- a/src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java +++ b/src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java @@ -1,29 +1,19 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; +import org.asamk.signal.manager.api.MessageEnvelope; -public class JsonQuotedAttachment { +public record JsonQuotedAttachment( + String contentType, String filename, @JsonInclude(JsonInclude.Include.NON_NULL) JsonAttachment thumbnail +) { - @JsonProperty - final String contentType; - - @JsonProperty - final String filename; - - @JsonProperty - @JsonInclude(JsonInclude.Include.NON_NULL) - final JsonAttachment thumbnail; - - JsonQuotedAttachment(SignalServiceDataMessage.Quote.QuotedAttachment quotedAttachment) { - contentType = quotedAttachment.getContentType(); - filename = quotedAttachment.getFileName(); - if (quotedAttachment.getThumbnail() != null) { - thumbnail = new JsonAttachment(quotedAttachment.getThumbnail()); - } else { - thumbnail = null; - } + static JsonQuotedAttachment from(MessageEnvelope.Data.Attachment quotedAttachment) { + final var contentType = quotedAttachment.contentType(); + final var filename = quotedAttachment.fileName().orElse(null); + final var thumbnail = quotedAttachment.thumbnail().isPresent() + ? JsonAttachment.from(quotedAttachment.thumbnail().get()) + : null; + return new JsonQuotedAttachment(contentType, filename, thumbnail); } }