♻️ refactor(labels): improve label listing and mapping
- refactor label listing to use `else` for option handling - enhance label listing with id display and conditional logging - create label map for efficient label id lookup
This commit is contained in:
committed by
Jeremiah Russell
parent
603240ae06
commit
7cd4b8987b
@@ -67,31 +67,38 @@ impl Labels {
|
|||||||
let call = hub.users().labels_list("me");
|
let call = hub.users().labels_list("me");
|
||||||
let (_response, list) = call.doit().await.map_err(Box::new)?;
|
let (_response, list) = call.doit().await.map_err(Box::new)?;
|
||||||
|
|
||||||
if show {
|
// if show {
|
||||||
if let Some(labels) = &list.labels {
|
// let Some(labels) = &list.labels else {
|
||||||
for label in labels {
|
// for label in labels {
|
||||||
if let Some(name) = &label.name {
|
// if let Some(name) = &label.name {
|
||||||
log::info!("{name}");
|
// log::info!("{name}");
|
||||||
} else {
|
// } else {
|
||||||
log::warn!("No name for label {:?}", label.id);
|
// log::warn!("No name for label {:?}", label.id);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
let Some(label_list) = list.labels else {
|
||||||
|
return Ok(Labels {
|
||||||
|
hub,
|
||||||
|
label_list: Vec::new(),
|
||||||
|
label_map: HashMap::new(),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut label_map = HashMap::new();
|
||||||
|
for label in &label_list {
|
||||||
|
if label.id.is_some() && label.name.is_some() {
|
||||||
|
let name = label.name.clone().unwrap();
|
||||||
|
let id = label.id.clone().unwrap();
|
||||||
|
if show {
|
||||||
|
log::info!("{name}: {id}")
|
||||||
}
|
}
|
||||||
|
label_map.insert(name, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let (label_list, label_map) = if let Some(labels) = list.labels {
|
|
||||||
let mut label_map = HashMap::new();
|
|
||||||
for label in &labels {
|
|
||||||
if label.id.is_some() && label.name.is_some() {
|
|
||||||
let label = label.clone();
|
|
||||||
label_map.insert(label.name.unwrap(), label.id.unwrap());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
(labels, label_map)
|
|
||||||
} else {
|
|
||||||
(Vec::new(), HashMap::new())
|
|
||||||
};
|
|
||||||
|
|
||||||
Ok(Labels {
|
Ok(Labels {
|
||||||
hub,
|
hub,
|
||||||
label_list,
|
label_list,
|
||||||
|
|||||||
Reference in New Issue
Block a user