mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2024-11-26 07:19:22 +00:00
Add new configuration fields
This commit is contained in:
parent
8d88e28df6
commit
ff8a862221
@ -4,6 +4,7 @@
|
|||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
|
|
||||||
use crate::constants::{conservation_policy, MIN_SUPPORTED_MOBILE_VERSION, password_policy};
|
use crate::constants::{conservation_policy, MIN_SUPPORTED_MOBILE_VERSION, password_policy};
|
||||||
|
use crate::constants::accounts_info_policy::{MAX_FIRST_NAME_LENGTH, MAX_LAST_NAME_LENGTH, MIN_FIRST_NAME_LENGTH, MIN_LAST_NAME_LENGTH};
|
||||||
use crate::constants::conversations::{ALLOWED_CONVERSATION_FILES_TYPES, CONVERSATION_FILES_MAX_SIZE, CONVERSATION_WRITING_EVENT_INTERVAL, CONVERSATION_WRITING_EVENT_LIFETIME, MAX_CONV_IMAGE_MESSAGE_WIDTH, MAX_CONV_LOGO_HEIGHT, MAX_CONV_LOGO_WIDTH, MAX_CONV_MESSAGE_THUMBNAIL_HEIGHT, MAX_CONV_MESSAGE_THUMBNAIL_WIDTH, MAX_CONVERSATION_MESSAGE_LENGTH, MAX_CONVERSATION_NAME_LENGTH, MIN_CONVERSATION_MESSAGE_LENGTH};
|
use crate::constants::conversations::{ALLOWED_CONVERSATION_FILES_TYPES, CONVERSATION_FILES_MAX_SIZE, CONVERSATION_WRITING_EVENT_INTERVAL, CONVERSATION_WRITING_EVENT_LIFETIME, MAX_CONV_IMAGE_MESSAGE_WIDTH, MAX_CONV_LOGO_HEIGHT, MAX_CONV_LOGO_WIDTH, MAX_CONV_MESSAGE_THUMBNAIL_HEIGHT, MAX_CONV_MESSAGE_THUMBNAIL_WIDTH, MAX_CONVERSATION_MESSAGE_LENGTH, MAX_CONVERSATION_NAME_LENGTH, MIN_CONVERSATION_MESSAGE_LENGTH};
|
||||||
use crate::data::api_client::APIClient;
|
use crate::data::api_client::APIClient;
|
||||||
use crate::data::config::conf;
|
use crate::data::config::conf;
|
||||||
@ -53,6 +54,14 @@ struct ConversationsPolicy {
|
|||||||
max_logo_height: u32,
|
max_logo_height: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize)]
|
||||||
|
struct AccountInformationPolicy {
|
||||||
|
min_first_name_length: u8,
|
||||||
|
max_first_name_length: u8,
|
||||||
|
min_last_name_length: u8,
|
||||||
|
max_last_name_length: u8,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
pub struct ServerConfig {
|
pub struct ServerConfig {
|
||||||
min_supported_mobile_version: &'static str,
|
min_supported_mobile_version: &'static str,
|
||||||
@ -65,6 +74,7 @@ pub struct ServerConfig {
|
|||||||
password_policy: PasswordPolicy,
|
password_policy: PasswordPolicy,
|
||||||
data_conservation_policy: DataConservationPolicy,
|
data_conservation_policy: DataConservationPolicy,
|
||||||
conversations_policy: ConversationsPolicy,
|
conversations_policy: ConversationsPolicy,
|
||||||
|
account_info_policy: AccountInformationPolicy,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ServerConfig {
|
impl ServerConfig {
|
||||||
@ -116,6 +126,13 @@ impl ServerConfig {
|
|||||||
max_logo_width: MAX_CONV_LOGO_WIDTH,
|
max_logo_width: MAX_CONV_LOGO_WIDTH,
|
||||||
max_logo_height: MAX_CONV_LOGO_HEIGHT,
|
max_logo_height: MAX_CONV_LOGO_HEIGHT,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
account_info_policy: AccountInformationPolicy {
|
||||||
|
min_first_name_length: MIN_FIRST_NAME_LENGTH,
|
||||||
|
max_first_name_length: MAX_FIRST_NAME_LENGTH,
|
||||||
|
min_last_name_length: MIN_LAST_NAME_LENGTH,
|
||||||
|
max_last_name_length: MAX_LAST_NAME_LENGTH,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,5 +224,16 @@ pub mod conversations {
|
|||||||
pub const MAX_CONV_LOGO_HEIGHT: u32 = 200;
|
pub const MAX_CONV_LOGO_HEIGHT: u32 = 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Account information policy
|
||||||
|
pub mod accounts_info_policy {
|
||||||
|
/// Minimum & maximum first name length
|
||||||
|
pub const MIN_FIRST_NAME_LENGTH: u8 = 2;
|
||||||
|
pub const MAX_FIRST_NAME_LENGTH: u8 = 50;
|
||||||
|
|
||||||
|
/// Minimum & maximum last name length
|
||||||
|
pub const MIN_LAST_NAME_LENGTH: u8 = 2;
|
||||||
|
pub const MAX_LAST_NAME_LENGTH: u8 = 50;
|
||||||
|
}
|
||||||
|
|
||||||
/// Url where Firebase push notifications can be sent
|
/// Url where Firebase push notifications can be sent
|
||||||
pub const FIREBASE_PUSH_MESSAGE_URL: &str = "https://fcm.googleapis.com/v1/projects/{PROJECT_ID}/messages:send";
|
pub const FIREBASE_PUSH_MESSAGE_URL: &str = "https://fcm.googleapis.com/v1/projects/{PROJECT_ID}/messages:send";
|
Loading…
Reference in New Issue
Block a user