mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 08:25:16 +00:00
Isolate conversations server settings
This commit is contained in:
@ -3,7 +3,8 @@
|
||||
//! @author Pierre Hubert
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::constants::{ALLOWED_CONVERSATION_FILES_TYPES, conservation_policy, CONVERSATION_FILES_MAX_SIZE, CONVERSATION_WRITING_EVENT_INTERVAL, CONVERSATION_WRITING_EVENT_LIFETIME, MAX_CONVERSATION_MESSAGE_LENGTH, MIN_CONVERSATION_MESSAGE_LENGTH, MIN_SUPPORTED_MOBILE_VERSION, password_policy};
|
||||
use crate::constants::{conservation_policy, MIN_SUPPORTED_MOBILE_VERSION, password_policy};
|
||||
use crate::constants::conversations::{ALLOWED_CONVERSATION_FILES_TYPES, CONVERSATION_FILES_MAX_SIZE, CONVERSATION_WRITING_EVENT_INTERVAL, CONVERSATION_WRITING_EVENT_LIFETIME, MAX_CONVERSATION_MESSAGE_LENGTH, MIN_CONVERSATION_MESSAGE_LENGTH};
|
||||
use crate::data::config::conf;
|
||||
|
||||
#[derive(Serialize)]
|
||||
@ -28,6 +29,16 @@ struct DataConservationPolicy {
|
||||
min_likes_lifetime: u64,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
struct ConversationsPolicy {
|
||||
min_conversation_message_len: usize,
|
||||
max_conversation_message_len: usize,
|
||||
allowed_conversation_files_type: [&'static str; 17],
|
||||
conversation_files_max_size: usize,
|
||||
conversation_writing_event_interval: u64,
|
||||
conversation_writing_event_lifetime: u64,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct ServerConfig {
|
||||
min_supported_mobile_version: &'static str,
|
||||
@ -37,13 +48,7 @@ pub struct ServerConfig {
|
||||
android_direct_download_url: String,
|
||||
password_policy: PasswordPolicy,
|
||||
data_conservation_policy: DataConservationPolicy,
|
||||
|
||||
min_conversation_message_len: usize,
|
||||
max_conversation_message_len: usize,
|
||||
allowed_conversation_files_type: [&'static str; 17],
|
||||
conversation_files_max_size: usize,
|
||||
conversation_writing_event_interval: u64,
|
||||
conversation_writing_event_lifetime: u64,
|
||||
conversations_policy: ConversationsPolicy,
|
||||
}
|
||||
|
||||
impl ServerConfig {
|
||||
@ -55,13 +60,6 @@ impl ServerConfig {
|
||||
play_store_url: &conf().play_store_url,
|
||||
android_direct_download_url: conf().android_direct_download_url.clone(),
|
||||
|
||||
min_conversation_message_len: MIN_CONVERSATION_MESSAGE_LENGTH,
|
||||
max_conversation_message_len: MAX_CONVERSATION_MESSAGE_LENGTH,
|
||||
allowed_conversation_files_type: ALLOWED_CONVERSATION_FILES_TYPES,
|
||||
conversation_files_max_size: CONVERSATION_FILES_MAX_SIZE,
|
||||
conversation_writing_event_interval: CONVERSATION_WRITING_EVENT_INTERVAL,
|
||||
conversation_writing_event_lifetime: CONVERSATION_WRITING_EVENT_LIFETIME,
|
||||
|
||||
password_policy: PasswordPolicy {
|
||||
allow_email_in_password: password_policy::ALLOW_EMAIL_IN_PASSWORD,
|
||||
allow_name_in_password: password_policy::ALLOW_NAME_IN_PASSWORD,
|
||||
@ -81,6 +79,15 @@ impl ServerConfig {
|
||||
min_conversation_messages_lifetime: conservation_policy::MIN_CONVERSATION_MESSAGES_LIFETIME.as_secs(),
|
||||
min_likes_lifetime: conservation_policy::MIN_LIKES_LIFETIME.as_secs(),
|
||||
},
|
||||
|
||||
conversations_policy: ConversationsPolicy {
|
||||
min_conversation_message_len: MIN_CONVERSATION_MESSAGE_LENGTH,
|
||||
max_conversation_message_len: MAX_CONVERSATION_MESSAGE_LENGTH,
|
||||
allowed_conversation_files_type: ALLOWED_CONVERSATION_FILES_TYPES,
|
||||
conversation_files_max_size: CONVERSATION_FILES_MAX_SIZE,
|
||||
conversation_writing_event_interval: CONVERSATION_WRITING_EVENT_INTERVAL,
|
||||
conversation_writing_event_lifetime: CONVERSATION_WRITING_EVENT_LIFETIME,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user