use crate::models::Proxy;
pub fn generate_peer(node: &Proxy, client_id_as_reserved: bool) -> String {
let mut result = String::new();
if let Some(public_key) = &node.public_key {
result.push_str(&format!("public-key = {}", public_key));
}
result.push_str(&format!(", endpoint = {}:{}", node.hostname, node.port));
if !node.allowed_ips.is_empty() {
result.push_str(&format!(", allowed-ips = \"{}\"", node.allowed_ips));
}
if let Some(client_id) = &node.client_id {
if !client_id.is_empty() {
if client_id_as_reserved {
result.push_str(&format!(", reserved = [{}]", client_id));
} else {
result.push_str(&format!(", client-id = {}", client_id));
}
}
}
result
}