From 6dedba9e3cedf6463f25460eba84111d6a0bd0dd Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 9 Jan 2026 23:48:17 +0800 Subject: Add command line wrapper for JVCS operations --- CommandLineWrapper/JVCSWorkspace.cs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 CommandLineWrapper/JVCSWorkspace.cs (limited to 'CommandLineWrapper/JVCSWorkspace.cs') diff --git a/CommandLineWrapper/JVCSWorkspace.cs b/CommandLineWrapper/JVCSWorkspace.cs new file mode 100644 index 0000000..6a39bbf --- /dev/null +++ b/CommandLineWrapper/JVCSWorkspace.cs @@ -0,0 +1,35 @@ +using CommandLineWrapper; + +public class JVCSWorkspace +{ + private string? _workspaceDirectory; + + public async Task InitializeAsync(string directory) + { + // If the specified directory does not exist, create it + if (!Directory.Exists(directory)) + Directory.CreateDirectory(directory); + + // Invoke command to get workspace directory + var result = await JVCSCommandInvoker.Invoke(Constants.CommandParameterGenerator.GetWorkspaceDirectory(), directory); + var currentWorkspace = result.StandardOutput; + + // Check if the obtained workspace directory is valid (not empty and exists) + if (string.IsNullOrWhiteSpace(currentWorkspace) && + Directory.Exists(currentWorkspace)) + { + _workspaceDirectory = currentWorkspace; + } + else + { + // If the workspace is invalid, initialize a new workspace + await JVCSCommandInvoker.Invoke(Constants.CommandParameterGenerator.Initialize()); + } + } + + // Login to a upstream vault + public async Task Login(string account, string upstream) + { + await JVCSCommandInvoker.Invoke(Constants.CommandParameterGenerator.Login(account, upstream)); + } +} -- cgit