use serde::{Deserialize, Serialize};
use crate::tina::{data::AppResult, server::application::AppConfig};
use super::UpdateableConfig;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerConfig {
pub max_payload_size: usize,
pub max_multipart_text_size: usize,
pub max_multipart_binary_size: usize,
pub max_multipart_binary_cache_memory_size: usize,
pub max_query_rows: u64,
pub enable_address_query: bool,
pub file_base_path: String,
pub default_api_prefix: String,
pub demo_enabled: bool,
}
impl Default for ServerConfig {
fn default() -> Self {
Self {
max_payload_size: 2 * 1024 * 1024,
max_multipart_text_size: 32 * 1024,
max_multipart_binary_size: 2 * 1024 * 1024 * 1024,
max_multipart_binary_cache_memory_size: 2 * 1024 * 1024,
max_query_rows: 10000,
enable_address_query: false,
file_base_path: "./.files".to_string(),
default_api_prefix: "/api".to_string(),
demo_enabled: true,
}
}
}
#[async_trait]
impl UpdateableConfig for ServerConfig {
async fn apply(&self, _application: &AppConfig) -> AppResult<()> {
Ok(())
}
}