OneLauncher-Cracked/packages/core/src/api/tauri/folders.rs
2025-08-14 22:14:56 +02:00

28 lines
812 B
Rust

use std::path::PathBuf;
use crate::error::LauncherResult;
use crate::store::Dirs;
#[taurpc::procedures(path = "folders")]
pub trait TauriLauncherFoldersApi {
#[taurpc(alias = "fromCluster")]
async fn from_cluster(folder_name: String) -> LauncherResult<PathBuf>;
#[taurpc(alias = "openCluster")]
async fn open_cluster(folder_name: String) -> LauncherResult<()>;
}
#[taurpc::ipc_type]
pub struct TauriLauncherFoldersApiImpl;
#[taurpc::resolvers]
impl TauriLauncherFoldersApi for TauriLauncherFoldersApiImpl {
async fn from_cluster(self, folder_name: String) -> LauncherResult<PathBuf> {
Ok(Dirs::get_clusters_dir().await?.join(folder_name))
}
async fn open_cluster(self, folder_name: String) -> LauncherResult<()> {
let path = self.from_cluster(folder_name).await?;
Ok(opener::open(path)?)
}
}