]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonQuotedAttachment.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonQuotedAttachment.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonInclude;
4
5 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
6
7 public record JsonQuotedAttachment(
8 String contentType, String filename, @JsonInclude(JsonInclude.Include.NON_NULL) JsonAttachment thumbnail
9 ) {
10
11 static JsonQuotedAttachment from(SignalServiceDataMessage.Quote.QuotedAttachment quotedAttachment) {
12 final var contentType = quotedAttachment.getContentType();
13 final var filename = quotedAttachment.getFileName();
14 final JsonAttachment thumbnail;
15 if (quotedAttachment.getThumbnail() != null) {
16 thumbnail = JsonAttachment.from(quotedAttachment.getThumbnail());
17 } else {
18 thumbnail = null;
19 }
20 return new JsonQuotedAttachment(contentType, filename, thumbnail);
21 }
22 }