use super::ais::AisConfig;
use super::signaling::SignalingConfig;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct MfrConfig {
#[serde(default = "default_nonce_retain_secs")]
pub nonce_retain_secs: i64,
}
fn default_nonce_retain_secs() -> i64 {
86400 }
impl Default for MfrConfig {
fn default() -> Self {
Self {
nonce_retain_secs: default_nonce_retain_secs(),
}
}
}
#[derive(Debug, Serialize, Deserialize, Clone, Default)]
pub struct ServicesConfig {
#[serde(default)]
pub signer: Option<signer::SignerServiceConfig>,
#[serde(default)]
pub ais: Option<AisConfig>,
#[serde(default)]
pub signaling: Option<SignalingConfig>,
#[serde(default)]
pub mfr: MfrConfig,
}