ent assign: speed up setting of assignee

This commit is contained in:
Sebastian Kuzminsky 2025-07-22 10:08:12 -06:00
parent cc1b378346
commit e2a7c81a13

View file

@ -415,7 +415,25 @@ fn handle_command(
Commands::Assign {
issue_id,
new_assignee,
} => {
} => match new_assignee {
Some(new_assignee) => {
let issues_database = entomologist::database::make_issues_database(
issues_database_source,
entomologist::database::IssuesDatabaseAccess::ReadWrite,
)?;
let mut issues = entomologist::issues::Issues::new_from_dir(&issues_database.dir)?;
let Some(issue) = issues.get_mut_issue(issue_id) else {
return Err(anyhow::anyhow!("issue {} not found", issue_id));
};
let old_assignee: String = match &issue.assignee {
Some(assignee) => assignee.clone(),
None => String::from("None"),
};
issue.set_assignee(new_assignee)?;
println!("issue: {}", issue_id);
println!("assignee: {} -> {}", old_assignee, new_assignee);
}
None => {
let issues = entomologist::database::read_issues_database(issues_database_source)?;
let Some(original_issue) = issues.issues.get(issue_id) else {
return Err(anyhow::anyhow!("issue {} not found", issue_id));
@ -425,25 +443,9 @@ fn handle_command(
None => String::from("None"),
};
println!("issue: {}", issue_id);
match new_assignee {
Some(new_assignee) => {
let issues_database = entomologist::database::make_issues_database(
issues_database_source,
entomologist::database::IssuesDatabaseAccess::ReadWrite,
)?;
let mut issues =
entomologist::issues::Issues::new_from_dir(&issues_database.dir)?;
let Some(issue) = issues.get_mut_issue(issue_id) else {
return Err(anyhow::anyhow!("issue {} not found", issue_id));
};
println!("assignee: {} -> {}", old_assignee, new_assignee);
issue.set_assignee(new_assignee)?;
}
None => {
println!("assignee: {}", old_assignee);
}
}
}
},
Commands::Tag { issue_id, tag } => match tag {
Some(tag) => {