diff options
Diffstat (limited to 'src-tauri/src/main.rs')
| -rw-r--r-- | src-tauri/src/main.rs | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 0f1d7a1..e9a24fb 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -6,7 +6,8 @@ use std::process::Stdio; use std::sync::Mutex; use tauri::{Emitter, Manager, State, Window}; // Added Emitter use tokio::io::{AsyncBufReadExt, BufReader}; -use tokio::process::Command; // Added Serialize +use tokio::process::Command; +use ts_rs::TS; // Added Serialize #[cfg(target_os = "windows")] use std::os::windows::process::CommandExt; @@ -1749,7 +1750,11 @@ async fn get_version_java_version( } /// Version metadata for display in the UI -#[derive(serde::Serialize)] +#[derive(serde::Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/VersionMetadata.ts" +)] struct VersionMetadata { id: String, #[serde(rename = "javaVersion")] @@ -1899,7 +1904,11 @@ async fn get_version_metadata( } /// Installed version info -#[derive(serde::Serialize)] +#[derive(serde::Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/InstalledVersion.ts" +)] struct InstalledVersion { id: String, #[serde(rename = "type")] @@ -2128,7 +2137,11 @@ async fn install_forge( Ok(result) } -#[derive(serde::Serialize)] +#[derive(serde::Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/GithubRelease.ts" +)] struct GithubRelease { tag_name: String, name: String, @@ -2174,7 +2187,11 @@ async fn get_github_releases() -> Result<Vec<GithubRelease>, String> { Ok(result) } -#[derive(Serialize)] +#[derive(Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/PastebinResponse.ts" +)] struct PastebinResponse { url: String, } @@ -2382,7 +2399,11 @@ async fn assistant_chat_stream( } /// Migrate instance caches to shared global caches -#[derive(Serialize)] +#[derive(Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/MigrationResult.ts" +)] struct MigrationResult { moved_files: usize, hardlinks: usize, @@ -2431,7 +2452,8 @@ async fn migrate_shared_caches( } /// File information for instance file browser -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts(export, export_to = "../packages/ui/src/types/generated/FileInfo.ts")] struct FileInfo { name: String, path: String, |