mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
46 lines
1.2 KiB
Rust
46 lines
1.2 KiB
Rust
use std::collections::HashMap;
|
|
|
|
use super::ApiError;
|
|
use crate::definitions::vpn::{WireguardInterface, WireguardPeer};
|
|
use crate::state::RpcState;
|
|
use crate::{get_map_thing, get_things};
|
|
use jsonrpsee::types::Params;
|
|
use jsonrpsee::RpcModule;
|
|
|
|
pub fn register_methods(module: &mut RpcModule<RpcState>) {
|
|
module
|
|
.register_method("vpn.wireguard.get_status", get_wireguard_status)
|
|
.unwrap();
|
|
|
|
module
|
|
.register_method(
|
|
"vpn.wireguard.get_interface",
|
|
get_map_thing!(vpn.wireguard.interfaces),
|
|
)
|
|
.unwrap();
|
|
|
|
module
|
|
.register_method::<Result<HashMap<String, WireguardInterface>, ApiError>, _>(
|
|
"vpn.wireguard.get_interfaces",
|
|
get_things!(vpn.wireguard.interfaces),
|
|
)
|
|
.unwrap();
|
|
|
|
module
|
|
.register_method(
|
|
"vpn.wireguard.get_peer",
|
|
get_map_thing!(vpn.wireguard.peers),
|
|
)
|
|
.unwrap();
|
|
|
|
module
|
|
.register_method::<Result<HashMap<String, WireguardPeer>, ApiError>, _>(
|
|
"vpn.wireguard.get_peers",
|
|
get_things!(vpn.wireguard.peers),
|
|
)
|
|
.unwrap();
|
|
}
|
|
|
|
pub fn get_wireguard_status(_: Params, _: &RpcState) -> Result<String, ApiError> {
|
|
Ok("ok".to_string())
|
|
}
|