35 lines
948 B
Rust
35 lines
948 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
/// Utility function to check if a boolean value is false
|
|
pub fn if_false(t: &bool) -> bool {
|
|
!t
|
|
}
|
|
|
|
/// Information about what owns this emoji
|
|
#[derive(Serialize, Deserialize, JsonSchema, Debug, Clone)]
|
|
#[serde(tag = "type")]
|
|
pub enum EmojiParent {
|
|
Server { id: String },
|
|
Detached,
|
|
}
|
|
|
|
/// Representation of an Emoji on Revolt
|
|
#[derive(Serialize, Deserialize, JsonSchema, Debug, Clone)]
|
|
pub struct Emoji {
|
|
/// Unique Id
|
|
#[serde(rename = "_id")]
|
|
pub id: String,
|
|
/// What owns this emoji
|
|
pub parent: EmojiParent,
|
|
/// Uploader user id
|
|
pub creator_id: String,
|
|
/// Emoji name
|
|
pub name: String,
|
|
/// Whether the emoji is animated
|
|
#[serde(skip_serializing_if = "if_false", default)]
|
|
pub animated: bool,
|
|
/// Whether the emoji is marked as nsfw
|
|
#[serde(skip_serializing_if = "if_false", default)]
|
|
pub nsfw: bool,
|
|
}
|