mirror of
https://github.com/aljazceru/signal-cli.git
synced 2025-12-18 22:54:20 +01:00
26 lines
1.0 KiB
Java
26 lines
1.0 KiB
Java
package org.asamk.signal.json;
|
|
|
|
import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
|
|
|
|
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);
|
|
}
|
|
}
|