signal-cli/src/main/java/org/asamk/signal/json/JsonAttachment.java
2026-03-07 01:42:17 +01:00

38 lines
1.1 KiB
Java

package org.asamk.signal.json;
import io.micronaut.jsonschema.JsonSchema;
import org.asamk.signal.manager.api.MessageEnvelope;
@JsonSchema(title = "Attachment")
record JsonAttachment(
String contentType,
String filename,
String id,
Long size,
Integer width,
Integer height,
String caption,
Long uploadTimestamp
) {
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);
final var width = attachment.width().orElse(null);
final var height = attachment.height().orElse(null);
final var caption = attachment.caption().orElse(null);
final var uploadTimestamp = attachment.uploadTimestamp().orElse(null);
return new JsonAttachment(attachment.contentType(),
filename,
id,
size,
width,
height,
caption,
uploadTimestamp);
}
}