2024-05-06 11:08:51 +08:00
|
|
|
import { invoke } from '@tauri-apps/api/tauri'
|
2024-05-08 18:58:17 +08:00
|
|
|
import type { NetworkConfig, NetworkInstanceRunningInfo } from '~/types/network'
|
2024-05-05 23:12:54 +08:00
|
|
|
|
|
|
|
|
export async function parseNetworkConfig(cfg: NetworkConfig): Promise<string> {
|
2024-05-08 19:09:39 +08:00
|
|
|
return invoke<string>('parse_network_config', { cfg: JSON.stringify(cfg) })
|
2024-05-05 23:12:54 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-08 18:58:17 +08:00
|
|
|
export async function runNetworkInstance(cfg: NetworkConfig): Promise<string> {
|
2024-05-08 19:09:39 +08:00
|
|
|
return invoke<string>('run_network_instance', { cfg: JSON.stringify(cfg) })
|
2024-05-05 23:12:54 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-08 18:58:17 +08:00
|
|
|
export async function retainNetworkInstance(instanceIds: string[]): Promise<string> {
|
2024-05-08 19:09:39 +08:00
|
|
|
return invoke<string>('retain_network_instance', { instanceIds: JSON.stringify(instanceIds) })
|
2024-05-05 23:12:54 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-08 18:58:17 +08:00
|
|
|
export async function collectNetworkInfos(): Promise<Record<string, NetworkInstanceRunningInfo>> {
|
|
|
|
|
return JSON.parse(await invoke<string>('collect_network_infos'))
|
2024-05-05 23:12:54 +08:00
|
|
|
}
|
2024-05-08 21:02:14 +08:00
|
|
|
|
|
|
|
|
export async function getOsHostname(): Promise<string> {
|
|
|
|
|
return await invoke('get_os_hostname')
|
|
|
|
|
}
|