privchat_protocol/rpc/
sticker.rs1use serde::{Deserialize, Serialize};
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct StickerPackageListRequest {}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct StickerInfo {
29 pub sticker_id: String,
30 pub package_id: String,
31 pub image_url: String,
32 pub alt_text: String,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub emoji: Option<String>,
35 pub width: u32,
36 pub height: u32,
37 pub mime_type: String,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
41pub struct StickerPackageInfo {
42 pub package_id: String,
43 pub name: String,
44 pub thumbnail_url: String,
45 pub author: String,
46 pub description: String,
47 pub sticker_count: usize,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub stickers: Option<Vec<StickerInfo>>,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
56pub struct StickerPackageListResponse {
57 pub packages: Vec<StickerPackageInfo>,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
64pub struct StickerPackageDetailRequest {
65 pub package_id: String,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
72pub struct StickerPackageDetailResponse {
73 pub package: StickerPackageInfo,
74}