mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
Add delete_user RPC Method
This commit is contained in:
parent
9dcd861a29
commit
c7e9e9dfee
2 changed files with 24 additions and 0 deletions
|
@ -56,6 +56,10 @@ pub fn new_rpc_module(state: RpcState) -> RpcModule<RpcState> {
|
||||||
.register_method("system.create_user", system::create_user)
|
.register_method("system.create_user", system::create_user)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
module
|
||||||
|
.register_method("system.delete_user", system::delete_user)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
module
|
module
|
||||||
.register_method("network.get_static_routes", network::get_static_routes)
|
.register_method("network.get_static_routes", network::get_static_routes)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
|
@ -48,3 +48,23 @@ pub fn create_user(p: Params, state: &RpcState) -> Result<(), ApiError> {
|
||||||
Err(ApiError::InvalidParams)
|
Err(ApiError::InvalidParams)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize)]
|
||||||
|
struct DeleteUser {
|
||||||
|
name: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn delete_user(p: Params, state: &RpcState) -> Result<(), ApiError> {
|
||||||
|
let u: DeleteUser = p.parse().unwrap();
|
||||||
|
|
||||||
|
let mut cm = state.config_manager.clone();
|
||||||
|
let mut tx = cm.start_transaction();
|
||||||
|
|
||||||
|
match tx.changes.system.users.remove(&u.name) {
|
||||||
|
Some(_) => return tx.commit().map_err(|source| ApiError::InvalidParams),
|
||||||
|
None => {
|
||||||
|
tx.revert();
|
||||||
|
Err(ApiError::InvalidParams)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue