package org.asamk.signal.json;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import org.asamk.signal.manager.api.MessageEnvelope;
-class JsonSyncReadMessage {
+import java.util.UUID;
- @JsonProperty
- final String sender;
+record JsonSyncReadMessage(
+ @Deprecated String sender, String senderNumber, String senderUuid, long timestamp
+) {
- @JsonProperty
- final long timestamp;
-
- public JsonSyncReadMessage(final String sender, final long timestamp) {
- this.sender = sender;
- this.timestamp = timestamp;
+ static JsonSyncReadMessage from(MessageEnvelope.Sync.Read readMessage) {
+ final var senderAddress = readMessage.sender();
+ final var sender = senderAddress.getLegacyIdentifier();
+ final var senderNumber = senderAddress.getNumber().orElse(null);
+ final var senderUuid = senderAddress.getUuid().map(UUID::toString).orElse(null);
+ final var timestamp = readMessage.timestamp();
+ return new JsonSyncReadMessage(sender, senderNumber, senderUuid, timestamp);
}
}