Skip to main content

Mountain/RPC/CocoonService/GenericRequest/Commands/
Execute.rs

1use serde_json::Value;
2use tonic::Response;
3use CommonLibrary::Command::CommandExecutor::CommandExecutor;
4use ::Vine::Generated::GenericResponse;
5
6use crate::Environment::MountainEnvironment::MountainEnvironment;
7
8pub async fn Fn(RequestId:u64, Params:Value, Env:&MountainEnvironment) -> Response<GenericResponse> {
9	let CommandId = Params.get("id").and_then(|V| V.as_str()).unwrap_or("").to_string();
10
11	let Arg = Params.get("arg").cloned().unwrap_or(Value::Null);
12
13	match Env.ExecuteCommand(CommandId, Arg).await {
14		Ok(V) => super::super::FileSystem::OkResponse(RequestId, &V),
15
16		Err(Error) => super::super::FileSystem::ErrResponse(RequestId, -32000, Error.to_string()),
17	}
18}