diff --git a/lib/modules-lib/bc-db-reader/src/indexes/identities.rs b/lib/modules-lib/bc-db-reader/src/indexes/identities.rs index 500e5ce509b48e4bb84daac0be6636f5da23f851..c3219da3c033f547fde346b5475bca8deef45bde 100644 --- a/lib/modules-lib/bc-db-reader/src/indexes/identities.rs +++ b/lib/modules-lib/bc-db-reader/src/indexes/identities.rs @@ -112,7 +112,7 @@ pub fn get_identities<DB: DbReadable>( db.read(|r| { let greatest_wot_id = crate::current_meta_datas::get_greatest_wot_id_(db, r)?; for wot_id in 0..=greatest_wot_id.0 { - if let Some(db_idty) = get_identity_by_wot_id_(db, r, WotId(wot_id))? { + if let Some(db_idty) = get_identity_by_wot_id(db, r, WotId(wot_id))? { if filters .paging .check_created_on(db_idty.idty_doc.blockstamp().id, current_block_id) @@ -152,7 +152,7 @@ pub fn get_identity_by_pubkey_<DB: DbReadable, R: DbReader>( pubkey: &PubKey, ) -> Result<Option<DbIdentity>, DbError> { if let Some(wot_id) = get_wot_id_(db, r, pubkey)? { - get_identity_by_wot_id_(db, r, wot_id) + get_identity_by_wot_id(db, r, wot_id) } else { Ok(None) } @@ -160,16 +160,7 @@ pub fn get_identity_by_pubkey_<DB: DbReadable, R: DbReader>( /// Get identity by pubkey #[inline] -pub fn get_identity_by_wot_id<DB: DbReadable>( - db: &DB, - wot_id: WotId, -) -> Result<Option<DbIdentity>, DbError> { - db.read(|r| get_identity_by_wot_id_(db, r, wot_id)) -} - -/// Get identity by pubkey -#[inline] -pub fn get_identity_by_wot_id_<DB: DbReadable, R: DbReader>( +pub fn get_identity_by_wot_id<DB: DbReadable, R: DbReader>( db: &DB, r: &R, wot_id: WotId, @@ -203,7 +194,7 @@ pub fn get_wot_id_from_uid<DB: DbReadable>(db: &DB, uid: &str) -> Result<Option< db.read(|r| { let greatest_wot_id = crate::current_meta_datas::get_greatest_wot_id_(db, r)?; for wot_id in 0..=greatest_wot_id.0 { - if let Some(db_idty) = get_identity_by_wot_id_(db, r, WotId(wot_id))? { + if let Some(db_idty) = get_identity_by_wot_id(db, r, WotId(wot_id))? { if db_idty.idty_doc.username() == uid { return Ok(Some(WotId(wot_id))); } @@ -261,7 +252,7 @@ pub fn get_wot_uid_index<DB: DbReadable>(db: &DB) -> Result<HashMap<WotId, Strin let mut wot_uid_index = HashMap::new(); let greatest_wot_id = crate::current_meta_datas::get_greatest_wot_id_(db, r)?; for wot_id in 0..=greatest_wot_id.0 { - if let Some(db_idty) = get_identity_by_wot_id_(db, r, WotId(wot_id))? { + if let Some(db_idty) = get_identity_by_wot_id(db, r, WotId(wot_id))? { wot_uid_index.insert(WotId(wot_id), db_idty.idty_doc.username().to_owned()); } } diff --git a/lib/modules/blockchain/bc-db-writer/src/indexes/certs.rs b/lib/modules/blockchain/bc-db-writer/src/indexes/certs.rs index ab7c3411fdb96d76cc8aabc671987ed113d7534b..23c2ae754361703154a912c7e5f4779d209aa1de 100644 --- a/lib/modules/blockchain/bc-db-writer/src/indexes/certs.rs +++ b/lib/modules/blockchain/bc-db-writer/src/indexes/certs.rs @@ -36,7 +36,7 @@ pub fn write_certification( ) -> Result<(), DbError> { // Get cert_chainable_on let mut member_datas = - durs_bc_db_reader::indexes::identities::get_identity_by_wot_id(db, source)? + durs_bc_db_reader::indexes::identities::get_identity_by_wot_id(db, w.as_ref(), source)? .expect("Try to write certification with unexist certifier."); // Push new cert_chainable_on member_datas diff --git a/lib/modules/blockchain/bc-db-writer/src/indexes/identities.rs b/lib/modules/blockchain/bc-db-writer/src/indexes/identities.rs index ed249e9ed95d69f492bcb289b0c9e7911f460185..e8a1500f9af83ea2be22ecab6ef86b4b95a0eb2b 100644 --- a/lib/modules/blockchain/bc-db-writer/src/indexes/identities.rs +++ b/lib/modules/blockchain/bc-db-writer/src/indexes/identities.rs @@ -222,9 +222,12 @@ pub fn renewal_identity( revert: bool, ) -> Result<(), DbError> { // Get idty_datas - let mut idty_datas = - durs_bc_db_reader::indexes::identities::get_identity_by_wot_id(db, idty_wot_id)? - .expect("Fatal error : try to renewal unknow identity !"); + let mut idty_datas = durs_bc_db_reader::indexes::identities::get_identity_by_wot_id( + db, + w.as_ref(), + idty_wot_id, + )? + .expect("Fatal error : try to renewal unknow identity !"); // Calculate new state value idty_datas.state = if revert { match idty_datas.state { diff --git a/lib/modules/blockchain/blockchain/src/dbex.rs b/lib/modules/blockchain/blockchain/src/dbex.rs index fcd2acd543f8b86171f46735222e027605810cbc..8efde33693b593b24a68ab40225e8c1129c50471 100644 --- a/lib/modules/blockchain/blockchain/src/dbex.rs +++ b/lib/modules/blockchain/blockchain/src/dbex.rs @@ -457,10 +457,14 @@ pub fn dbex_wot(profile_path: PathBuf, csv: bool, query: &DbExWotQuery) { UidOrPubkey::Pubkey(ref pubkey) => wot_index.get(pubkey).copied(), }; if let Some(wot_id) = wot_id_opt { - let idty = - durs_bc_db_reader::indexes::identities::get_identity_by_wot_id(&db, wot_id) - .expect("DB error: ") - .expect("DB corrupted: all WotId must be point to an identity."); + let idty = db + .read(|r| { + durs_bc_db_reader::indexes::identities::get_identity_by_wot_id( + &db, r, wot_id, + ) + }) + .expect("DB error: ") + .expect("DB corrupted: all WotId must be point to an identity."); println!( "{} : wot_id={}, pubkey={}.",