discordant_types/
emoji.rs1use std::borrow::Cow;
2
3use serde::{Deserialize, Serialize};
4
5use super::{Role, Snowflake, User};
6
7#[derive(Debug, Default, Serialize, Deserialize)]
8pub struct Emoji<'a> {
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub id: Option<Snowflake>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub name: Option<Cow<'a, str>>,
13    #[serde(default, skip_serializing_if = "Vec::is_empty")]
14    pub roles: Vec<Role<'a>>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub user: Option<User<'a>>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub require_colons: Option<bool>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub managed: Option<bool>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub animated: Option<bool>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub available: Option<bool>,
25}