···406 #[config(env = "PDS_USER_HANDLE_DOMAINS", parse_env = split_comma_list)]
407 pub user_handle_domains: Option<Vec<String>>,
408409- /// List of domains available for user registration.
410- /// Defaults to the PDS hostname when not set.
411- #[config(env = "AVAILABLE_USER_DOMAINS", parse_env = split_comma_list)]
412- pub available_user_domains: Option<Vec<String>>,
413-414 /// Enable PDS-hosted did:web identities. Hosting did:web requires a
415 /// long-term commitment to serve DID documents; opt-in only.
416 #[config(env = "ENABLE_PDS_HOSTED_DID_WEB", default = false)]
···468 /// Returns the extra banned words list, or an empty vec when unset.
469 pub fn banned_word_list(&self) -> Vec<String> {
470 self.banned_words.clone().unwrap_or_default()
471- }
472-473- /// Returns the available user domains, falling back to `[hostname_without_port]`.
474- pub fn available_user_domain_list(&self) -> Vec<String> {
475- self.available_user_domains
476- .clone()
477- .unwrap_or_else(|| vec![self.hostname_without_port().to_string()])
478 }
479480 /// Returns the user handle domains, falling back to `[hostname_without_port]`.
···406 #[config(env = "PDS_USER_HANDLE_DOMAINS", parse_env = split_comma_list)]
407 pub user_handle_domains: Option<Vec<String>>,
40800000409 /// Enable PDS-hosted did:web identities. Hosting did:web requires a
410 /// long-term commitment to serve DID documents; opt-in only.
411 #[config(env = "ENABLE_PDS_HOSTED_DID_WEB", default = false)]
···463 /// Returns the extra banned words list, or an empty vec when unset.
464 pub fn banned_word_list(&self) -> Vec<String> {
465 self.banned_words.clone().unwrap_or_default()
0000000466 }
467468 /// Returns the user handle domains, falling back to `[hostname_without_port]`.
+1-1
crates/tranquil-pds/src/api/server/meta.rs
···34pub async fn describe_server() -> impl IntoResponse {
35 let cfg = tranquil_config::get();
36 let pds_hostname = &cfg.server.hostname;
37- let domains = cfg.server.available_user_domain_list();
38 let invite_code_required = cfg.server.invite_code_required;
39 let privacy_policy = cfg.server.privacy_policy_url.clone();
40 let terms_of_service = cfg.server.terms_of_service_url.clone();
···34pub async fn describe_server() -> impl IntoResponse {
35 let cfg = tranquil_config::get();
36 let pds_hostname = &cfg.server.hostname;
37+ let domains = cfg.server.user_handle_domain_list();
38 let invite_code_required = cfg.server.invite_code_required;
39 let privacy_policy = cfg.server.privacy_policy_url.clone();
40 let terms_of_service = cfg.server.terms_of_service_url.clone();