From c0b3648fd2d46682d40b8cd2705c4aaa47ed820c Mon Sep 17 00:00:00 2001 From: Vixalie Date: Tue, 11 Mar 2025 08:50:29 +0800 Subject: [PATCH] expose patttern storage commands. --- src-tauri/src/cmd/mod.rs | 29 +++++++++++++++++++++++++++++ src-tauri/src/lib.rs | 4 +++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/cmd/mod.rs b/src-tauri/src/cmd/mod.rs index 181f756..48bef81 100644 --- a/src-tauri/src/cmd/mod.rs +++ b/src-tauri/src/cmd/mod.rs @@ -6,6 +6,7 @@ use btleplug::{ }; pub use state::{CentralState, ChannelState, PeripheralItem}; use tauri::{async_runtime::RwLock, AppHandle, Emitter, State}; +use uuid::Uuid; use crate::{ bluetooth, errors, @@ -157,3 +158,31 @@ pub async fn save_pattern( .map_err(|e| errors::AppError::StorageFailure(e.to_string()))?; Ok(()) } + +#[tauri::command] +pub async fn get_pattern( + app_state: State<'_, Arc>>, + pattern_id: Uuid, +) -> Result, errors::AppError> { + let state = app_state.read().await; + let pattern = state + .db + .get_pattern(&pattern_id) + .await + .map_err(|e| errors::AppError::StorageFailure(e.to_string()))?; + Ok(pattern) +} + +#[tauri::command] +pub async fn remove_pattern( + app_state: State<'_, Arc>>, + pattern_id: Uuid, +) -> Result<(), errors::AppError> { + let state = app_state.read().await; + state + .db + .remove_pattern(&pattern_id) + .await + .map_err(|e| errors::AppError::StorageFailure(e.to_string()))?; + Ok(()) +} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 4dc7983..a003680 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -66,7 +66,9 @@ pub fn run() { cmd::start_scan_devices, cmd::stop_scan_devices, cmd::list_patterns, - cmd::save_pattern + cmd::save_pattern, + cmd::get_pattern, + cmd::remove_pattern ]) .run(tauri::generate_context!()) .expect("error while running tauri application");