From d8ca1c49687ae76d4ee3d16e7d8c5ba5c73c6fda Mon Sep 17 00:00:00 2001 From: Noor Date: Fri, 21 Mar 2025 22:08:45 +0530 Subject: [PATCH] fix: update list_operator app_nodes assignment to reflect actual length and vec of app nodes in inpsect operator --- src/data.rs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/data.rs b/src/data.rs index 9c1d1ca..5ab628d 100644 --- a/src/data.rs +++ b/src/data.rs @@ -1107,7 +1107,7 @@ impl BrainData { pubkey: op.key().to_string(), escrow: op.escrow / 1_000_000_000, email: op.email.clone(), - app_nodes: 0, + app_nodes: op.app_nodes.len() as u64, vm_nodes: op.vm_nodes.len() as u64, reports: self.total_operator_reports(op.key()) as u64, }) @@ -1121,18 +1121,23 @@ impl BrainData { .into_iter() .map(|n| n.into()) .collect(); + + let app_nodes = self + .find_app_nodes_by_operator(wallet) + .into_iter() + .map(|n| n.into()) + .collect(); InspectOperatorResp { operator: Some(ListOperatorsResp { pubkey: op.key().to_string(), escrow: op.escrow, email: op.email.clone(), - app_nodes: 0, + app_nodes: op.app_nodes.len() as u64, vm_nodes: op.vm_nodes.len() as u64, reports: self.total_operator_reports(op.key()) as u64, }), vm_nodes, - // TODO: fix app node list - app_nodes: Vec::new(), + app_nodes, } }) } @@ -1216,6 +1221,15 @@ impl BrainData { }); } + pub fn find_app_nodes_by_operator(&self, operator_wallet: &str) -> Vec { + let nodes = self.app_nodes.read().unwrap(); + nodes + .iter() + .filter(|node| node.operator_wallet == operator_wallet) + .cloned() + .collect() + } + pub fn find_app_nodes_by_filters(&self, filters: &AppNodeFilters) -> Vec { let nodes = self.app_nodes.read().unwrap(); nodes