Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/Task/
ExecuteTask.rs

1//! Forward a task-execution request to Sky over the
2//! `sky://task/execute` channel.
3
4use serde_json::json;
5use tauri::Emitter;
6use tonic::{Response, Status};
7
8use crate::{
9	RPC::CocoonService::CocoonServiceImpl,
10	Vine::Generated::{ExecuteTaskRequest, ExecuteTaskResponse},
11	dev_log,
12};
13
14pub async fn Fn(
15	Service:&CocoonServiceImpl,
16
17	Request:ExecuteTaskRequest,
18) -> Result<Response<ExecuteTaskResponse>, Status> {
19	dev_log!(
20		"cocoon",
21		"[CocoonService] execute_task: name={} source={}",
22		Request.name,
23		Request.source
24	);
25
26	let _ = Service
27		.environment
28		.ApplicationHandle
29		.emit("sky://task/execute", json!({ "name": Request.name, "source": Request.source }));
30
31	Ok(Response::new(ExecuteTaskResponse { task_id:0, success:true }))
32}