botx_api/api/v3/stickers/sticker_packs_list/
models.rs1use std::collections::HashMap;
2
3use chrono::{DateTime, Utc};
4use serde::{Serialize, Deserialize};
5use uuid::Uuid;
6
7#[derive(Debug, Default, Clone, Builder)]
8#[builder(setter(into, prefix = "with", strip_option))]
9pub struct StickerPacksListRequest {
10 #[builder(default)]
12 pub user_huid: Option<Uuid>,
13
14 #[builder(default)]
16 pub limit: Option<u32>,
17
18 #[builder(default)]
20 pub after: Option<String>,
21}
22
23#[derive(Debug, Serialize, Deserialize, Clone)]
24pub struct StickerPacksListResponse {
25 pub result: StickerPacksListResponseResult,
27}
28
29#[derive(Debug, Serialize, Deserialize, Clone)]
30pub struct StickerPacksListResponseResult {
31 pub packs: Vec<StickerPackWithStickerCount>,
33 pub pagination: StickerPacksListPagination,
35}
36
37#[derive(Debug, Serialize, Deserialize, Clone)]
38pub struct StickerPackWithStickerCount {
39 pub id: Uuid,
41 pub name: String,
43 pub public: bool,
45 pub preview: Option<String>,
47 pub stickers_count: u32,
49 pub stickers_order: Vec<Uuid>,
51 pub inserted_at: DateTime<Utc>,
53 pub updated_at: DateTime<Utc>,
55 pub deleted_at: Option<DateTime<Utc>>,
57}
58
59#[derive(Debug, Serialize, Deserialize, Clone)]
60pub struct StickerPacksListPagination {
61 pub after: Option<String>,
63}
64
65#[derive(Debug, Serialize, Deserialize, Clone)]
66pub struct StickerPacksListError {
67 #[serde(flatten)]
69 pub data: HashMap<String, String>,
70}