mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 22:52:22 +00:00
improvement to config
This commit is contained in:
@@ -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")]
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user