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}