mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
🎈 perf: simplify format
This commit is contained in:
@@ -235,15 +235,13 @@ static INSTANCE_MAP: once_cell::sync::Lazy<DashMap<String, NetworkInstance>> =
|
|||||||
|
|
||||||
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn parse_network_config(cfg: &str) -> Result<String, String> {
|
fn parse_network_config(cfg: NetworkConfig) -> Result<String, String> {
|
||||||
let cfg: NetworkConfig = serde_json::from_str(cfg).map_err(|e| e.to_string())?;
|
|
||||||
let toml = cfg.gen_config().map_err(|e| e.to_string())?;
|
let toml = cfg.gen_config().map_err(|e| e.to_string())?;
|
||||||
Ok(toml.dump())
|
Ok(toml.dump())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn run_network_instance(cfg: &str) -> Result<String, String> {
|
fn run_network_instance(cfg: NetworkConfig) -> Result<(), String> {
|
||||||
let cfg: NetworkConfig = serde_json::from_str(cfg).map_err(|e| e.to_string())?;
|
|
||||||
if INSTANCE_MAP.contains_key(&cfg.instance_id) {
|
if INSTANCE_MAP.contains_key(&cfg.instance_id) {
|
||||||
return Err("instance already exists".to_string());
|
return Err("instance already exists".to_string());
|
||||||
}
|
}
|
||||||
@@ -254,13 +252,11 @@ fn run_network_instance(cfg: &str) -> Result<String, String> {
|
|||||||
|
|
||||||
println!("instance {} started", instance_id);
|
println!("instance {} started", instance_id);
|
||||||
INSTANCE_MAP.insert(instance_id, instance);
|
INSTANCE_MAP.insert(instance_id, instance);
|
||||||
Ok("".to_string())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn retain_network_instance(instance_ids: &str) -> Result<(), String> {
|
fn retain_network_instance(instance_ids: Vec<String>) -> Result<(), String> {
|
||||||
let instance_ids: Vec<String> =
|
|
||||||
serde_json::from_str(instance_ids).map_err(|e| e.to_string())?;
|
|
||||||
let _ = INSTANCE_MAP.retain(|k, _| instance_ids.contains(k));
|
let _ = INSTANCE_MAP.retain(|k, _| instance_ids.contains(k));
|
||||||
println!(
|
println!(
|
||||||
"instance {:?} retained",
|
"instance {:?} retained",
|
||||||
@@ -273,14 +269,14 @@ fn retain_network_instance(instance_ids: &str) -> Result<(), String> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn collect_network_infos() -> Result<String, String> {
|
fn collect_network_infos() -> Result<BTreeMap<String, NetworkInstanceRunningInfo>, String> {
|
||||||
let mut ret = BTreeMap::new();
|
let mut ret = BTreeMap::new();
|
||||||
for instance in INSTANCE_MAP.iter() {
|
for instance in INSTANCE_MAP.iter() {
|
||||||
if let Some(info) = instance.get_running_info() {
|
if let Some(info) = instance.get_running_info() {
|
||||||
ret.insert(instance.key().clone(), info);
|
ret.insert(instance.key().clone(), info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(serde_json::to_string(&ret).map_err(|e| e.to_string())?)
|
Ok(ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
import { invoke } from '@tauri-apps/api/tauri'
|
import { invoke } from '@tauri-apps/api/tauri'
|
||||||
import type { NetworkConfig, NetworkInstanceRunningInfo } from '~/types/network'
|
import type { NetworkConfig, NetworkInstanceRunningInfo } from '~/types/network'
|
||||||
|
|
||||||
export async function parseNetworkConfig(cfg: NetworkConfig): Promise<string> {
|
export async function parseNetworkConfig(cfg: NetworkConfig) {
|
||||||
return invoke<string>('parse_network_config', { cfg: JSON.stringify(cfg) })
|
return invoke<string>('parse_network_config', { cfg })
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function runNetworkInstance(cfg: NetworkConfig): Promise<string> {
|
export async function runNetworkInstance(cfg: NetworkConfig) {
|
||||||
return invoke<string>('run_network_instance', { cfg: JSON.stringify(cfg) })
|
return invoke('run_network_instance', { cfg })
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function retainNetworkInstance(instanceIds: string[]): Promise<string> {
|
export async function retainNetworkInstance(instanceIds: string[]) {
|
||||||
return invoke<string>('retain_network_instance', { instanceIds: JSON.stringify(instanceIds) })
|
return invoke('retain_network_instance', { instanceIds })
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function collectNetworkInfos(): Promise<Record<string, NetworkInstanceRunningInfo>> {
|
export async function collectNetworkInfos() {
|
||||||
return JSON.parse(await invoke<string>('collect_network_infos'))
|
return await invoke<Record<string, NetworkInstanceRunningInfo>>('collect_network_infos')
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getOsHostname(): Promise<string> {
|
export async function getOsHostname() {
|
||||||
return await invoke('get_os_hostname')
|
return await invoke<string>('get_os_hostname')
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user