use super::OutputToken;
use crate::contexts::merge_readiness::domain::ci_checks::{
CheckBucket, CiChecksRepository, CiStatus,
};
use crate::contexts::merge_readiness::domain::error::RepositoryError;
pub fn fetch(repo: &impl CiChecksRepository) -> Result<Vec<CheckBucket>, RepositoryError> {
repo.fetch_check_buckets()
}
pub fn check(buckets: &[CheckBucket]) -> Option<OutputToken> {
match crate::contexts::merge_readiness::domain::ci_checks::aggregate(buckets) {
CiStatus::Fail => Some(OutputToken::CiFail),
CiStatus::ActionRequired => Some(OutputToken::CiAction),
CiStatus::Pass => None,
}
}