diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-11-06 22:10:56 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-11-06 22:10:56 +0800 |
| commit | 637d49109a1b050bbfb4804cf33c5127e8ba5386 (patch) | |
| tree | 651668fd98164b1e139bf2321be1ff32593e55b4 /crates/vcs_actions/src/actions/virtual_file_actions.rs | |
| parent | a5e0dcf25dd45685057e0671d0f5dd8d75884266 (diff) | |
feat: Add virtual file actions foundation (WIP)
- Create virtual file actions module
- Add basic structure for virtual file operations
- NOTE: Still under development
Diffstat (limited to 'crates/vcs_actions/src/actions/virtual_file_actions.rs')
| -rw-r--r-- | crates/vcs_actions/src/actions/virtual_file_actions.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crates/vcs_actions/src/actions/virtual_file_actions.rs b/crates/vcs_actions/src/actions/virtual_file_actions.rs index e69de29..3e801b0 100644 --- a/crates/vcs_actions/src/actions/virtual_file_actions.rs +++ b/crates/vcs_actions/src/actions/virtual_file_actions.rs @@ -0,0 +1,32 @@ +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 TrackFileActionResult { + Success, + + // Fail + AuthorizeFailed(String), +} + +#[action_gen] +pub async fn track_file_action( + ctx: ActionContext, + relative_pathes: Vec<PathBuf>, +) -> Result<TrackFileActionResult, TcpTargetError> { + let instance = check_connection_instance(&ctx)?; + + // Auth Member + if let Err(e) = auth_member(&ctx, instance).await { + return Ok(TrackFileActionResult::AuthorizeFailed(e.to_string())); + }; + + if ctx.is_proc_on_local() {} + + Err(TcpTargetError::NoResult("No result.".to_string())) +} |
