Add wireguard status

This commit is contained in:
Samuel Lorch 2024-02-10 21:43:25 +01:00
parent d79269676a
commit 913f130fd6
2 changed files with 8 additions and 1 deletions

View file

@ -29,6 +29,9 @@ pub enum ApiError {
#[error(transparent)]
ConfigError(#[from] crate::config_manager::ConfigError),
#[error(transparent)]
IOError(#[from] std::io::Error),
}
impl Into<ErrorObject<'static>> for ApiError {

View file

@ -6,6 +6,7 @@ use crate::{
};
use jsonrpsee::types::Params;
use jsonrpsee::RpcModule;
use std::process::Command;
pub fn register_methods(module: &mut RpcModule<RpcState>) {
module
@ -84,5 +85,8 @@ pub fn register_methods(module: &mut RpcModule<RpcState>) {
}
pub fn wireguard_status(_: Params, _: &RpcState) -> Result<String, ApiError> {
Ok("ok".to_string())
match Command::new("wg").output() {
Ok(out) => Ok(String::from_utf8_lossy(&out.stdout).to_string()),
Err(err) => Err(ApiError::IOError(err)),
}
}