// Hold // Throw // Import // Export use std::path::PathBuf; use action_system::{action::ActionContext, macros::action_gen}; use serde::{Deserialize, Serialize}; use tcp_connection::error::TcpTargetError; use crate::actions::{auth_member, check_connection_instance}; #[derive(Serialize, Deserialize)] pub enum HoldVirtualFileActionResult { // Success Success, // Fail AuthorizeFailed(String), } #[action_gen] pub async fn hold_virtual_file_action( ctx: ActionContext, relative_paths: Vec, ) -> Result { let instance = check_connection_instance(&ctx)?; // Auth Member if let Err(e) = auth_member(&ctx, instance).await { return Ok(HoldVirtualFileActionResult::AuthorizeFailed(e.to_string())); } Ok(HoldVirtualFileActionResult::Success) }