1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#![allow(unused_assignments)] use crate::sled_json::{ TreeWrapper, JSONEncoder }; use crate::public_struct::{ ImageChainIDJSONValue }; pub async fn get_image_size_repositories(db: &sled::Db,image_digest:String) -> i32 { let tree_tmp = match db.open_tree("image_chain_id"){ Ok(res) => res, Err(_) => { return 1 } }; let tree = TreeWrapper::<JSONEncoder<ImageChainIDJSONValue>, JSONEncoder<ImageChainIDJSONValue>>::new( tree_tmp ); let value_1 = match tree.get(image_digest.clone()){ Ok(res) => res, Err(_) => { return 1 } }; let value_2 = match value_1{ Some(res) => res, None => { return 1 } }; let value = match value_2.decode() { Some(res) => res, None => { return 1 } }; let chain_list = value.image_chain_id; let mut size = 0; for (_k,v) in chain_list.iter() { size += v.size.parse::<i32>().unwrap(); } return size }