X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed..d248f249e37f7b35a3b7dd69f2a06af8eddd3996:/src/main/java/org/asamk/signal/json/JsonAttachment.java diff --git a/src/main/java/org/asamk/signal/json/JsonAttachment.java b/src/main/java/org/asamk/signal/json/JsonAttachment.java index b78722d1..1f6e6510 100644 --- a/src/main/java/org/asamk/signal/json/JsonAttachment.java +++ b/src/main/java/org/asamk/signal/json/JsonAttachment.java @@ -1,25 +1,13 @@ package org.asamk.signal.json; -import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; +import org.asamk.signal.manager.api.MessageEnvelope; record JsonAttachment(String contentType, String filename, String id, Long size) { - static JsonAttachment from(SignalServiceAttachment attachment) { - if (attachment.isPointer()) { - final var pointer = attachment.asPointer(); - final var id = pointer.getRemoteId().toString(); - final var filename = pointer.getFileName().orNull(); - final var size = pointer.getSize().transform(Integer::longValue).orNull(); - return new JsonAttachment(attachment.getContentType(), filename, id, size); - } else { - final var stream = attachment.asStream(); - final var filename = stream.getFileName().orNull(); - final var size = stream.getLength(); - return new JsonAttachment(attachment.getContentType(), filename, null, size); - } - } - - static JsonAttachment from(String filename) { - return new JsonAttachment(filename, null, null, null); + static JsonAttachment from(MessageEnvelope.Data.Attachment attachment) { + final var id = attachment.id().orElse(null); + final var filename = attachment.fileName().orElse(null); + final var size = attachment.size().orElse(null); + return new JsonAttachment(attachment.contentType(), filename, id, size); } }