]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSticker.java
Only store recipient if there were changes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSticker.java
index e56ddf3fef5d4d552d6f1f1006660c6565d16e12..96435ad69031c25d01406e312efbdae03d34d23e 100644 (file)
@@ -1,25 +1,16 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
+import org.asamk.signal.manager.api.MessageEnvelope;
 
 import java.util.Base64;
 
-public class JsonSticker {
-
-    @JsonProperty
-    final String packId;
-
-    @JsonProperty
-    final String packKey;
-
-    @JsonProperty
-    final int stickerId;
+public record JsonSticker(String packId, String packKey, int stickerId) {
 
-    public JsonSticker(SignalServiceDataMessage.Sticker sticker) {
-        this.packId = Base64.getEncoder().encodeToString(sticker.getPackId());
-        this.packKey = Base64.getEncoder().encodeToString(sticker.getPackKey());
-        this.stickerId = sticker.getStickerId();
+    static JsonSticker from(MessageEnvelope.Data.Sticker sticker) {
+        final var encoder = Base64.getEncoder();
+        final var packId = encoder.encodeToString(sticker.packId());
+        final var packKey = encoder.encodeToString(sticker.packKey());
+        final var stickerId = sticker.stickerId();
+        return new JsonSticker(packId, packKey, stickerId);
     }
 }