Mountain/IPC/WindServiceAdapters/
WindStorageService.rs1
2use std::sync::Arc;
6
7use CommonLibrary::{Error::CommonError::CommonError, Storage::StorageProvider::StorageProvider};
8
9pub struct Struct {
10 pub(super) provider:Arc<dyn StorageProvider>,
11}
12
13impl Struct {
14 pub fn new(provider:Arc<dyn StorageProvider>) -> Self { Self { provider } }
15
16 pub async fn get(&self, key:String) -> Result<serde_json::Value, String> {
17 let value = self
18 .provider
19 .GetStorageValue(false, &key)
20 .await
21 .map_err(|e:CommonError| e.to_string())?
22 .ok_or_else(|| "Storage key not found".to_string())?;
23
24 Ok(value)
25 }
26
27 pub async fn set(&self, key:String, value:serde_json::Value) -> Result<(), String> {
28 self.provider
29 .UpdateStorageValue(false, key.to_string(), Some(value))
30 .await
31 .map_err(|e:CommonError| e.to_string())
32 }
33}