]> Untitled Git - lemmy.git/blob - crates/api_common/src/custom_emoji.rs
Add Custom Emojis Support (#2616)
[lemmy.git] / crates / api_common / src / custom_emoji.rs
1 use crate::sensitive::Sensitive;
2 use lemmy_db_schema::newtypes::CustomEmojiId;
3 use lemmy_db_views::structs::CustomEmojiView;
4 use serde::{Deserialize, Serialize};
5 use url::Url;
6
7 #[derive(Debug, Serialize, Deserialize, Clone)]
8 pub struct CreateCustomEmoji {
9   pub category: String,
10   pub shortcode: String,
11   pub image_url: Url,
12   pub alt_text: String,
13   pub keywords: Vec<String>,
14   pub auth: Sensitive<String>,
15 }
16
17 #[derive(Debug, Serialize, Deserialize, Clone)]
18 pub struct EditCustomEmoji {
19   pub id: CustomEmojiId,
20   pub category: String,
21   pub image_url: Url,
22   pub alt_text: String,
23   pub keywords: Vec<String>,
24   pub auth: Sensitive<String>,
25 }
26
27 #[derive(Debug, Serialize, Deserialize, Clone, Default)]
28 pub struct DeleteCustomEmoji {
29   pub id: CustomEmojiId,
30   pub auth: Sensitive<String>,
31 }
32
33 #[derive(Serialize, Deserialize)]
34 pub struct DeleteCustomEmojiResponse {
35   pub id: CustomEmojiId,
36   pub success: bool,
37 }
38
39 #[derive(Debug, Serialize, Deserialize, Clone)]
40 pub struct CustomEmojiResponse {
41   pub custom_emoji: CustomEmojiView,
42 }