aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri/src/core/downloader.rs
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2026-02-18 15:08:40 +0800
committer苏向夜 <fu050409@163.com>2026-02-18 15:08:40 +0800
commit1a103de2f1ef75cd73347953cbe27e14606df871 (patch)
treeeecb01f025bd9941aaa42ccebee02109cb5c7942 /src-tauri/src/core/downloader.rs
parent2c3de3ac5ab1ab59f7245ab9cbdfda9b4e96dcb0 (diff)
downloadDropOut-1a103de2f1ef75cd73347953cbe27e14606df871.tar.gz
DropOut-1a103de2f1ef75cd73347953cbe27e14606df871.zip
refactor(client): rewrite macros to generate client
Diffstat (limited to 'src-tauri/src/core/downloader.rs')
-rw-r--r--src-tauri/src/core/downloader.rs37
1 files changed, 8 insertions, 29 deletions
diff --git a/src-tauri/src/core/downloader.rs b/src-tauri/src/core/downloader.rs
index d4fc782..a6b11c5 100644
--- a/src-tauri/src/core/downloader.rs
+++ b/src-tauri/src/core/downloader.rs
@@ -2,8 +2,8 @@ use futures::StreamExt;
use serde::{Deserialize, Serialize};
use sha1::Digest as Sha1Digest;
use std::path::PathBuf;
-use std::sync::atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering};
use std::sync::Arc;
+use std::sync::atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering};
use tauri::{AppHandle, Emitter, Manager, Window};
use tokio::io::{AsyncSeekExt, AsyncWriteExt};
use tokio::sync::Semaphore;
@@ -11,10 +11,7 @@ use ts_rs::TS;
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct DownloadTask {
pub url: String,
pub path: PathBuf,
@@ -27,10 +24,7 @@ pub struct DownloadTask {
/// Metadata for resumable downloads stored in .part.meta file
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct DownloadMetadata {
pub url: String,
pub file_name: String,
@@ -44,10 +38,7 @@ pub struct DownloadMetadata {
/// A download segment for multi-segment parallel downloading
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct DownloadSegment {
pub start: u64,
pub end: u64,
@@ -58,10 +49,7 @@ pub struct DownloadSegment {
/// Progress event for Java download
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct JavaDownloadProgress {
pub file_name: String,
pub downloaded_bytes: u64,
@@ -75,10 +63,7 @@ pub struct JavaDownloadProgress {
/// Pending download task for queue persistence
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct PendingJavaDownload {
pub major_version: u32,
pub image_type: String,
@@ -93,10 +78,7 @@ pub struct PendingJavaDownload {
/// Download queue for persistence
#[derive(Debug, Clone, Serialize, Deserialize, Default, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui-new/src/types/bindings/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct DownloadQueue {
pub pending_downloads: Vec<PendingJavaDownload>,
}
@@ -452,10 +434,7 @@ fn create_new_metadata(
#[derive(Debug, Clone, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
-#[ts(
- export,
- export_to = "../../packages/ui/src/types/generated/downloader.ts"
-)]
+#[ts(export, export_to = "downloader.ts")]
pub struct ProgressEvent {
pub file: String,
pub downloaded: u64,