mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-11-03 17:14:03 +00:00 
			
		
		
		
	Get user custom emojies
This commit is contained in:
		
							
								
								
									
										29
									
								
								src/api_data/custom_emoji.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/api_data/custom_emoji.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
//! # Custom emoji API object
 | 
			
		||||
//!
 | 
			
		||||
//! @author Pierre Hubert
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
use crate::data::custom_emoji::CustomEmoji;
 | 
			
		||||
use crate::utils::user_data_utils::user_data_url;
 | 
			
		||||
 | 
			
		||||
#[derive(Serialize)]
 | 
			
		||||
#[allow(non_snake_case)]
 | 
			
		||||
pub struct CustomEmojiAPI {
 | 
			
		||||
    id: u64,
 | 
			
		||||
    userID: i64,
 | 
			
		||||
    shortcut: String,
 | 
			
		||||
    url: String
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl CustomEmojiAPI {
 | 
			
		||||
 | 
			
		||||
    /// Create a new Custom Emoji API entry
 | 
			
		||||
    pub fn new(custom_emoji: &CustomEmoji) -> CustomEmojiAPI {
 | 
			
		||||
        CustomEmojiAPI {
 | 
			
		||||
            id: custom_emoji.id,
 | 
			
		||||
            userID: custom_emoji.user_id,
 | 
			
		||||
            shortcut: custom_emoji.shortcut.to_string(),
 | 
			
		||||
            url: user_data_url(&custom_emoji.path),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -10,4 +10,5 @@
 | 
			
		||||
pub mod http_error;
 | 
			
		||||
pub mod login_success;
 | 
			
		||||
pub mod current_user_id;
 | 
			
		||||
pub mod user_info;
 | 
			
		||||
pub mod user_info;
 | 
			
		||||
pub mod custom_emoji;
 | 
			
		||||
@@ -4,10 +4,11 @@
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
 | 
			
		||||
use crate::data::user::{User, UserPageStatus, UserID};
 | 
			
		||||
use crate::helpers::friends_helper;
 | 
			
		||||
use crate::helpers::{friends_helper, custom_emojies_helper};
 | 
			
		||||
use crate::data::error::ResultBoxError;
 | 
			
		||||
use crate::utils::user_data_utils::user_data_url;
 | 
			
		||||
use crate::data::user::AccountImageVisibility::{EVERYONE, COMUNIC_USERS};
 | 
			
		||||
use crate::api_data::custom_emoji::CustomEmojiAPI;
 | 
			
		||||
 | 
			
		||||
#[derive(Serialize)]
 | 
			
		||||
#[allow(non_snake_case)]
 | 
			
		||||
@@ -19,6 +20,7 @@ pub struct APIUserInfo {
 | 
			
		||||
    openPage: bool,
 | 
			
		||||
    virtualDirectory: String,
 | 
			
		||||
    accountImage: String,
 | 
			
		||||
    customEmojis: Vec<CustomEmojiAPI>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl APIUserInfo {
 | 
			
		||||
@@ -33,6 +35,10 @@ impl APIUserInfo {
 | 
			
		||||
            openPage: info.status == UserPageStatus::OPEN,
 | 
			
		||||
            virtualDirectory: info.virtual_directory.clone().unwrap_or(String::new()),
 | 
			
		||||
            accountImage: APIUserInfo::get_account_image_url(user_id, info)?,
 | 
			
		||||
            customEmojis: custom_emojies_helper::get_list_user(info.id)?
 | 
			
		||||
                .iter()
 | 
			
		||||
                .map(|f| CustomEmojiAPI::new(f))
 | 
			
		||||
                .collect(),
 | 
			
		||||
        })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user