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