titanium_model/builder/
sticker.rs

1/// Payload for creating a sticker.
2#[derive(Debug, Clone, serde::Serialize, Default)]
3pub struct CreateSticker {
4    pub name: String,
5    pub description: String,
6    pub tags: String,
7}
8
9/// Builder for creating a Sticker.
10#[derive(Debug, Clone)]
11pub struct CreateStickerBuilder {
12    params: CreateSticker,
13}
14
15impl CreateStickerBuilder {
16    /// Create a new `CreateStickerBuilder`.
17    pub fn new(
18        name: impl Into<String>,
19        description: impl Into<String>,
20        tags: impl Into<String>,
21    ) -> Self {
22        Self {
23            params: CreateSticker {
24                name: name.into(),
25                description: description.into(),
26                tags: tags.into(),
27            },
28        }
29    }
30
31    /// Build the `CreateSticker` payload.
32    #[must_use]
33    pub fn build(self) -> CreateSticker {
34        self.params
35    }
36}