refactor 6
This commit is contained in:
@@ -11,10 +11,11 @@ use tokio::sync::mpsc;
|
||||
use winreg::enums::*;
|
||||
use winreg::RegKey;
|
||||
|
||||
use crate::domain::models::{InstallProgress, InstallTask, TaskEventPayload};
|
||||
use crate::domain::models::{InstallTask, TaskEventPayload};
|
||||
use crate::providers::winget_client;
|
||||
use crate::services::essentials_service;
|
||||
use crate::services::log_service::emit_log;
|
||||
use crate::services::task_event_service;
|
||||
use crate::winget::{PostInstallStep, Software};
|
||||
|
||||
pub struct AppState {
|
||||
@@ -411,14 +412,6 @@ fn spawn_install_stream_reader<R: Read + Send + 'static>(
|
||||
let mut is_progress = false;
|
||||
if let Some(caps) = perc_re.captures(clean_line) {
|
||||
if let Ok(p_val) = caps[1].parse::<f32>() {
|
||||
let _ = handle.emit(
|
||||
"install-status",
|
||||
InstallProgress {
|
||||
id: task_id.clone(),
|
||||
status: "installing".to_string(),
|
||||
progress: p_val / 100.0,
|
||||
},
|
||||
);
|
||||
let _ = handle.emit(
|
||||
"task-event",
|
||||
TaskEventPayload {
|
||||
@@ -439,14 +432,6 @@ fn spawn_install_stream_reader<R: Read + Send + 'static>(
|
||||
let current = caps[1].parse::<f32>().unwrap_or(0.0);
|
||||
let total = caps[2].parse::<f32>().unwrap_or(1.0);
|
||||
if total > 0.0 {
|
||||
let _ = handle.emit(
|
||||
"install-status",
|
||||
InstallProgress {
|
||||
id: task_id.clone(),
|
||||
status: "installing".to_string(),
|
||||
progress: (current / total).min(1.0),
|
||||
},
|
||||
);
|
||||
let _ = handle.emit(
|
||||
"task-event",
|
||||
TaskEventPayload {
|
||||
@@ -488,35 +473,17 @@ fn emit_task_event(
|
||||
message: Option<String>,
|
||||
software_info: Option<Software>,
|
||||
) {
|
||||
let _ = handle.emit(
|
||||
"task-event",
|
||||
TaskEventPayload {
|
||||
task_id: task_id.to_string(),
|
||||
software_id: software_id.to_string(),
|
||||
task_type: task_type.to_string(),
|
||||
status: status.to_string(),
|
||||
stage: stage.to_string(),
|
||||
progress,
|
||||
target_version: target_version.clone(),
|
||||
message,
|
||||
software_info,
|
||||
},
|
||||
);
|
||||
|
||||
let legacy_status = match status {
|
||||
"queued" => "pending".to_string(),
|
||||
"completed" => "success".to_string(),
|
||||
"failed" => "error".to_string(),
|
||||
_ => stage.to_string(),
|
||||
};
|
||||
|
||||
let _ = handle.emit(
|
||||
"install-status",
|
||||
InstallProgress {
|
||||
id: software_id.to_string(),
|
||||
status: legacy_status,
|
||||
progress,
|
||||
},
|
||||
task_event_service::emit_task_event(
|
||||
handle,
|
||||
task_id,
|
||||
software_id,
|
||||
task_type,
|
||||
status,
|
||||
stage,
|
||||
progress,
|
||||
target_version.clone(),
|
||||
message,
|
||||
software_info,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user