use crate::context::facade::GitContext; impl GitContext { pub async fn cache_insert( &self, key: &str, value: &V, ttl: Option, ) -> Result<(), crate::share::errors::GitError> where V: serde::Serialize, { match ttl { Some(ttl) => self.cache.set_json_ex(key, value, ttl).await?, None => self.cache.set_json(key, value).await?, } Ok(()) } pub async fn cache_get(&self, key: &str) -> Result, crate::share::errors::GitError> where V: serde::de::DeserializeOwned, { Ok(self.cache.get_json(key).await?) } pub async fn cache_remove(&self, key: &str) -> Result<(), crate::share::errors::GitError> { let _ = self.cache.delete(key).await?; Ok(()) } pub async fn cache_exists(&self, key: &str) -> Result { Ok(self.cache.exists(key).await?) } }