//! # Server configuration //! //! @author Pierre Hubert use serde::Serialize; use crate::constants::conservation_policy; #[derive(Serialize)] struct DataConservationPolicy { min_inactive_account_lifetime: u64, min_notification_lifetime: u64, min_comments_lifetime: u64, min_posts_lifetime: u64, min_conversation_messages_lifetime: u64, min_likes_lifetime: u64, } #[derive(Serialize)] pub struct ServerConfig { data_conservation_policy: DataConservationPolicy, } impl ServerConfig { pub fn new() -> Self { ServerConfig { data_conservation_policy: DataConservationPolicy { min_inactive_account_lifetime: conservation_policy::MIN_INACTIVE_ACCOUNT_LIFETIME.as_secs(), min_notification_lifetime: conservation_policy::MIN_NOTIFICATIONS_LIFETIME.as_secs(), min_comments_lifetime: conservation_policy::MIN_COMMENTS_LIFETIME.as_secs(), min_posts_lifetime: conservation_policy::MIN_POSTS_LIFETIME.as_secs(), min_conversation_messages_lifetime: conservation_policy::MIN_CONVERSATION_MESSAGES_LIFETIME.as_secs(), min_likes_lifetime: conservation_policy::MIN_LIKES_LIFETIME.as_secs(), } } } }