Mountain/IPC/WindServiceAdapters/
WindStorageService.rs1#![allow(non_snake_case)]
2
3use std::sync::Arc;
7
8use CommonLibrary::{Error::CommonError::CommonError, Storage::StorageProvider::StorageProvider};
9
10pub struct Struct {
11 pub(super) provider:Arc<dyn StorageProvider>,
12}
13
14impl Struct {
15 pub fn new(provider:Arc<dyn StorageProvider>) -> Self { Self { provider } }
16
17 pub async fn get(&self, key:String) -> Result<serde_json::Value, String> {
18 let value = self
19 .provider
20 .GetStorageValue(false, &key)
21 .await
22 .map_err(|e:CommonError| e.to_string())?
23 .ok_or_else(|| "Storage key not found".to_string())?;
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}