mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 16:35:17 +00:00
Can get general settings
This commit is contained in:
45
src/api_data/general_settings_api.rs
Normal file
45
src/api_data/general_settings_api.rs
Normal file
@ -0,0 +1,45 @@
|
||||
//! # General settings API
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::data::user::User;
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[allow(non_snake_case)]
|
||||
pub struct GeneralSettingsAPI {
|
||||
id: u64,
|
||||
email: String,
|
||||
firstName: String,
|
||||
lastName: String,
|
||||
is_public: bool,
|
||||
is_open: bool,
|
||||
allow_comments: bool,
|
||||
allow_posts_from_friends: bool,
|
||||
allow_comunic_mails: bool,
|
||||
public_friends_list: bool,
|
||||
virtual_directory: String,
|
||||
personnal_website: String,
|
||||
publicNote: String,
|
||||
}
|
||||
|
||||
impl GeneralSettingsAPI {
|
||||
pub fn new(user: &User) -> GeneralSettingsAPI {
|
||||
GeneralSettingsAPI {
|
||||
id: user.id.id(),
|
||||
email: user.email.clone(),
|
||||
firstName: user.first_name.clone(),
|
||||
lastName: user.last_name.clone(),
|
||||
is_public: user.is_page_public(),
|
||||
is_open: user.is_page_open(),
|
||||
allow_comments: !user.block_comments_on_his_page,
|
||||
allow_posts_from_friends: user.allow_posts_from_friends,
|
||||
allow_comunic_mails: user.allow_mails,
|
||||
public_friends_list: user.public_friends_list,
|
||||
virtual_directory: user.virtual_directory.clone().unwrap_or(String::new()),
|
||||
personnal_website: user.personal_website.clone().unwrap_or(String::new()),
|
||||
publicNote: user.public_note.clone().unwrap_or(String::new()),
|
||||
}
|
||||
}
|
||||
}
|
@ -50,4 +50,5 @@ pub mod res_check_security_answers;
|
||||
pub mod account_export_api;
|
||||
pub mod user_like_api;
|
||||
pub mod survey_response_api;
|
||||
pub mod entities_constructor;
|
||||
pub mod entities_constructor;
|
||||
pub mod general_settings_api;
|
Reference in New Issue
Block a user