From f2ecc33f447ba0ccae261720019fa2820aa21875 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Tue, 25 Nov 2025 13:58:58 +0800 Subject: Add `hold_virtual_file_action` in user actions --- crates/vcs_actions/src/actions/user_actions.rs | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'crates/vcs_actions') diff --git a/crates/vcs_actions/src/actions/user_actions.rs b/crates/vcs_actions/src/actions/user_actions.rs index e69de29..6ca1c24 100644 --- a/crates/vcs_actions/src/actions/user_actions.rs +++ b/crates/vcs_actions/src/actions/user_actions.rs @@ -0,0 +1,36 @@ +// 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) +} -- cgit