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
25 Ok(value)
26 }
27
28 pub async fn set(&self, key:String, value:serde_json::Value) -> Result<(), String> {
29 self.provider
30 .UpdateStorageValue(false, key.to_string(), Some(value))
31 .await
32 .map_err(|e:CommonError| e.to_string())
33 }
34}