use crate::application::OutputToken;
use crate::domain::ci_checks::{CheckBucket, CiChecksRepository, CiStatus};
use crate::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::domain::ci_checks::aggregate(buckets) {
CiStatus::Fail => Some(OutputToken::CiFail),
CiStatus::ActionRequired => Some(OutputToken::CiAction),
CiStatus::Pass => None,
}
}