1use crate::types::session::SessionConfig;
4use crate::types::trust::TrustDomain;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct LdpAdapterConfig {
10 pub delegate_id: String,
12
13 #[serde(default)]
15 pub trust_domain: TrustDomain,
16
17 #[serde(default)]
19 pub session: SessionConfig,
20
21 #[serde(default = "default_true")]
23 pub enforce_trust_domains: bool,
24
25 #[serde(default = "default_true")]
27 pub attach_provenance: bool,
28
29 #[serde(default)]
31 pub signing_secret: Option<String>,
32}
33
34fn default_true() -> bool {
35 true
36}
37
38impl Default for LdpAdapterConfig {
39 fn default() -> Self {
40 Self {
41 delegate_id: "ldp:delegate:local".into(),
42 trust_domain: TrustDomain::new("default"),
43 session: SessionConfig::default(),
44 enforce_trust_domains: true,
45 attach_provenance: true,
46 signing_secret: None,
47 }
48 }
49}