import com.fasterxml.jackson.annotation.JsonProperty;
+import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage;
+
+import java.util.UUID;
+
+import static org.asamk.signal.util.Util.getLegacyIdentifier;
+
class JsonSyncReadMessage {
@JsonProperty
+ @Deprecated
final String sender;
+ @JsonProperty
+ final String senderNumber;
+
+ @JsonProperty
+ final String senderUuid;
+
@JsonProperty
final long timestamp;
- public JsonSyncReadMessage(final String sender, final long timestamp) {
- this.sender = sender;
- this.timestamp = timestamp;
+ public JsonSyncReadMessage(final ReadMessage readMessage) {
+ final var sender = readMessage.getSender();
+ this.sender = getLegacyIdentifier(sender);
+ this.senderNumber = sender.getNumber().orNull();
+ this.senderUuid = sender.getUuid().transform(UUID::toString).orNull();
+ this.timestamp = readMessage.getTimestamp();
}
}