cyfs_util/cache/
codec.rs

1use super::named_data_cache::FileDirRef;
2use cyfs_base::*;
3
4use serde_json::{Map, Value};
5
6impl JsonCodec<FileDirRef> for FileDirRef {
7    fn encode_json(&self) -> Map<String, Value> {
8        let mut obj = Map::new();
9        obj.insert("dir_id".to_owned(), Value::String(self.dir_id.to_string()));
10        obj.insert(
11            "inner_path".to_owned(),
12            Value::String(self.inner_path.clone()),
13        );
14
15        obj
16    }
17
18    fn decode_json(obj: &Map<String, Value>) -> BuckyResult<Self> {
19        let dir_id = JsonCodecHelper::decode_string_field(obj, "dir_id")?;
20        let inner_path = JsonCodecHelper::decode_string_field(obj, "inner_path")?;
21
22        Ok(Self { dir_id, inner_path })
23    }
24}