]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonAttachment.java
Convert RecipientAddress to record
[signal-cli] / src / main / java / org / asamk / signal / json / JsonAttachment.java
index 8a405fc4a8bdd65bb3807633314fed6a6731fbbd..1f6e65101cd5fc2e18241e9d3c108bbd26a6e7e6 100644 (file)
@@ -1,31 +1,13 @@
 package org.asamk.signal.json;
 
-import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
-import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentPointer;
+import org.asamk.signal.manager.api.MessageEnvelope;
 
-class JsonAttachment {
+record JsonAttachment(String contentType, String filename, String id, Long size) {
 
-    String contentType;
-    String filename;
-    String id;
-    int size;
-
-    JsonAttachment(SignalServiceAttachment attachment) {
-        this.contentType = attachment.getContentType();
-
-        final SignalServiceAttachmentPointer pointer = attachment.asPointer();
-        if (attachment.isPointer()) {
-            this.id = String.valueOf(pointer.getId());
-            if (pointer.getFileName().isPresent()) {
-                this.filename = pointer.getFileName().get();
-            }
-            if (pointer.getSize().isPresent()) {
-                this.size = pointer.getSize().get();
-            }
-        }
-    }
-
-    JsonAttachment(String filename) {
-        this.filename = filename;
+    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);
     }
 }