-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 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();
+record JsonSyncReadMessage(
+ @Deprecated String sender, String senderNumber, String senderUuid, long timestamp
+) {
+
+ static JsonSyncReadMessage from(MessageEnvelope.Sync.Read readMessage) {
+ final var senderAddress = readMessage.sender();
+ final var sender = senderAddress.getLegacyIdentifier();
+ final var senderNumber = senderAddress.number().orElse(null);
+ final var senderUuid = senderAddress.uuid().map(UUID::toString).orElse(null);
+ final var timestamp = readMessage.timestamp();
+ return new JsonSyncReadMessage(sender, senderNumber, senderUuid, timestamp);