1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-06-21 00:45:18 +00:00

Can create custom emoji

This commit is contained in:
2021-01-20 18:31:01 +01:00
parent 110f84eb0a
commit 99c7bb2899
12 changed files with 126 additions and 15 deletions

View File

@ -106,6 +106,7 @@ pub fn get_routes() -> Vec<Route> {
Route::post("/settings/upload_account_image", Box::new(settings_controller::upload_account_image)),
Route::post("/settings/delete_account_image", Box::new(settings_controller::delete_account_image)),
Route::post("/settings/set_account_image_visibility", Box::new(settings_controller::set_account_image_visibility)),
Route::post("/settings/upload_custom_emoji", Box::new(settings_controller::upload_custom_emoji)),
// Friends controller

View File

@ -5,15 +5,17 @@
use crate::api_data::account_image_settings_api::AccountImageSettingsAPI;
use crate::api_data::general_settings_api::GeneralSettingsAPI;
use crate::api_data::language_settings_api::LanguageSettingsAPI;
use crate::api_data::res_create_custom_emoji::ResCreateCustomEmoji;
use crate::api_data::security_settings_api::SecuritySettingsAPI;
use crate::constants::SUPPORTED_LANGUAGES;
use crate::controllers::routes::RequestResult;
use crate::data::general_settings::GeneralSettings;
use crate::data::http_request_handler::HttpRequestHandler;
use crate::data::lang_settings::LangSettings;
use crate::data::new_custom_emoji::NewCustomEmoji;
use crate::data::security_settings::{SecurityQuestion, SecuritySettings};
use crate::data::user::{AccountImageVisibility, UserPageStatus};
use crate::helpers::{account_helper, user_helper};
use crate::helpers::{account_helper, custom_emojies_helper, user_helper};
use crate::helpers::virtual_directory_helper::VirtualDirType;
/// Get the general settings of the user
@ -171,4 +173,23 @@ pub fn set_account_image_visibility(r: &mut HttpRequestHandler) -> RequestResult
account_helper::set_account_image_visibility(r.user_id_ref()?, level)?;
r.success("Account image visibility level updated!")
}
/// Upload a custom emoji
pub fn upload_custom_emoji(r: &mut HttpRequestHandler) -> RequestResult {
let shortcut = r.post_emoji_shortcut("shortcut")?;
if custom_emojies_helper::has_user_similar_shortcut(r.user_id_ref()?, &shortcut)? {
r.forbidden("A custom emoji with the same shortcut is already defined!".to_string())?;
}
let path = r.save_post_image("image", "custom_emojies", 72, 72)?;
let emoji_id = custom_emojies_helper::insert(&NewCustomEmoji {
user_id: r.user_id()?,
shortcut,
path,
})?;
r.set_response(ResCreateCustomEmoji::new(emoji_id))
}