aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
blob: 5ae4e1edb8171d4a8733c113f84732317b5eebc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::wg::config::WireguardConfig;
use crate::Configuration;
use anyhow::{anyhow, Result};

pub fn run(wg_conf: &WireguardConfig, conf: &Configuration, peer_name: String, is_full: bool) -> Result<()> {
    let peer = match wg_conf.get_peer(peer_name.as_str()) {
        Some(p) => p,
        None => {
            return Err(anyhow!("No such peer: {}", peer_name));
        }
    };

    println!("{}", peer.gen_config(wg_conf, conf.dns.clone(), conf.endpoint.clone(), conf.port, is_full)?);

    Ok(())
}