1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
#[serde(default)]
pub struct AuthConfig {
pub activation_token_validity_minutes: i64,
pub auth_session_max_validity_minutes: i64,
pub bcrypt_password_hash_cost: u32,
pub default_roles_on_account_creation: Vec<String>,
}
impl Default for AuthConfig {
fn default() -> Self {
Self {
activation_token_validity_minutes: 120,
auth_session_max_validity_minutes: 240,
bcrypt_password_hash_cost: 10,
default_roles_on_account_creation: vec![],
}
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn should_build_config() {
let config: AuthConfig = config::Config::builder().build().unwrap().try_deserialize().unwrap();
assert!(config.default_roles_on_account_creation.is_empty());
}
}