improvement to config

This commit is contained in:
Lennart
2024-11-02 16:03:53 +01:00
parent 959aed1f54
commit 45de287d72
2 changed files with 9 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct FrontendConfig {
#[serde(serialize_with = "hex::serde::serialize")]
#[serde(deserialize_with = "hex::serde::deserialize")]

View File

@@ -2,53 +2,50 @@ use rustical_frontend::FrontendConfig;
use rustical_store::auth::StaticUserStoreConfig;
use serde::{Deserialize, Serialize};
fn http_default_host() -> String {
"0.0.0.0".to_owned()
}
fn http_default_port() -> u16 {
4000
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(deny_unknown_fields, default)]
pub struct HttpConfig {
#[serde(default = "http_default_host")]
pub host: String,
#[serde(default = "http_default_port")]
pub port: u16,
}
impl Default for HttpConfig {
fn default() -> Self {
Self {
host: http_default_host(),
port: http_default_port(),
host: "0.0.0.0".to_owned(),
port: 4000,
}
}
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct SqliteDataStoreConfig {
pub db_url: String,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(tag = "backend", rename_all = "snake_case")]
#[serde(deny_unknown_fields)]
pub enum DataStoreConfig {
Sqlite(SqliteDataStoreConfig),
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(tag = "backend", rename_all = "snake_case")]
#[serde(deny_unknown_fields)]
pub enum AuthConfig {
Static(StaticUserStoreConfig),
}
#[derive(Debug, Deserialize, Serialize, Default)]
#[serde(deny_unknown_fields, default)]
pub struct TracingConfig {
pub opentelemetry: bool,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Config {
pub data_store: DataStoreConfig,
pub auth: AuthConfig,