X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/2d068997c50e8e75e378e9f0202aa14de3a140a8..9439de1c153be43f695bd30170fedf05536674da:/lib/src/main/java/org/asamk/signal/manager/JsonStickerPack.java diff --git a/lib/src/main/java/org/asamk/signal/manager/JsonStickerPack.java b/lib/src/main/java/org/asamk/signal/manager/JsonStickerPack.java index 74ee6d02..75e65bcb 100644 --- a/lib/src/main/java/org/asamk/signal/manager/JsonStickerPack.java +++ b/lib/src/main/java/org/asamk/signal/manager/JsonStickerPack.java @@ -1,55 +1,15 @@ package org.asamk.signal.manager; -import com.fasterxml.jackson.annotation.JsonProperty; +import org.asamk.signal.manager.api.StickerPack; import java.util.List; -public class JsonStickerPack { +public record JsonStickerPack(String title, String author, JsonSticker cover, List stickers) { - @JsonProperty - public String title; + public record JsonSticker(Integer id, String emoji, String file, String contentType) { - @JsonProperty - public String author; - - @JsonProperty - public JsonSticker cover; - - @JsonProperty - public List stickers; - - // For deserialization - private JsonStickerPack() { - } - - public JsonStickerPack( - final String title, final String author, final JsonSticker cover, final List stickers - ) { - this.title = title; - this.author = author; - this.cover = cover; - this.stickers = stickers; - } - - public static class JsonSticker { - - @JsonProperty - public String emoji; - - @JsonProperty - public String file; - - @JsonProperty - public String contentType; - - // For deserialization - private JsonSticker() { - } - - public JsonSticker(final String emoji, final String file, final String contentType) { - this.emoji = emoji; - this.file = file; - this.contentType = contentType; + public StickerPack.Sticker toApi() { + return new StickerPack.Sticker(id == null ? Integer.parseInt(file) : id, emoji, contentType); } } }