refactor 6

This commit is contained in:
Julian Freeman
2026-04-18 16:15:52 -04:00
parent 73976d1367
commit 708df41063
9 changed files with 180 additions and 102 deletions

View File

@@ -3,31 +3,54 @@ use tauri::AppHandle;
use crate::domain::models::{DashboardSnapshot, EssentialsStatusItem, UpdateCandidate};
use crate::providers::winget_client;
use crate::services::{essentials_service, reconcile_service};
use crate::winget::Software;
use crate::services::task_event_service::emit_task_event;
pub async fn initialize_app(app: AppHandle) -> Result<bool, String> {
emit_task_event(
&app,
"env-check",
"env-check",
"initialize_app",
"running",
"checking_environment",
0.0,
None,
Some("Checking WinGet environment".to_string()),
None,
);
let app_clone = app.clone();
tokio::task::spawn_blocking(move || winget_client::ensure_environment_ready(&app_clone).map(|_| true))
let result = tokio::task::spawn_blocking(move || winget_client::ensure_environment_ready(&app_clone).map(|_| true))
.await
.unwrap_or(Err("Initialization Task Panicked".to_string()))
}
.unwrap_or(Err("Initialization Task Panicked".to_string()));
pub async fn get_installed_software(app: AppHandle) -> Vec<Software> {
tokio::task::spawn_blocking(move || winget_client::list_installed_packages(&app))
.await
.unwrap_or_default()
}
match &result {
Ok(_) => emit_task_event(
&app,
"env-check",
"env-check",
"initialize_app",
"completed",
"ready",
1.0,
None,
Some("WinGet environment ready".to_string()),
None,
),
Err(err) => emit_task_event(
&app,
"env-check",
"env-check",
"initialize_app",
"failed",
"error",
1.0,
None,
Some(err.clone()),
None,
),
}
pub async fn get_updates(app: AppHandle) -> Vec<Software> {
tokio::task::spawn_blocking(move || winget_client::list_upgrade_candidates(&app))
.await
.unwrap_or_default()
}
pub async fn get_software_info(app: AppHandle, id: String) -> Option<Software> {
tokio::task::spawn_blocking(move || winget_client::get_package_by_id(&app, &id))
.await
.unwrap_or(None)
result
}
pub async fn get_software_icon(app: AppHandle, id: String, name: String) -> Option<String> {