use super::types::{DoctorFixResultRecord, FixResult, ProblemFixability};
use super::HookDoctorReport;
pub(super) fn build_manual_fix_results(report: &HookDoctorReport) -> Vec<DoctorFixResultRecord> {
report
.problems
.iter()
.filter(|problem| problem.fixability != ProblemFixability::AutoFixable)
.map(|problem| DoctorFixResultRecord {
category: problem.category,
outcome: FixResult::Manual,
detail: match problem.fixability {
ProblemFixability::AutoFixable => {
unreachable!("auto-fixable problems should not be rendered as manual results")
}
ProblemFixability::ManualOnly => {
format!("{} Manual remediation is still required.", problem.summary)
}
},
})
.collect()
}