use super::OutputToken;
use super::errors::{ErrorLogger, ErrorPresenter};
use crate::contexts::merge_readiness::domain::merge_ready::{
MergeReadiness, MergeReadinessRepository,
};
pub fn fetch(
repo: &impl MergeReadinessRepository,
err_logger: &impl ErrorLogger,
err_presenter: &impl ErrorPresenter,
) -> Option<MergeReadiness> {
match repo.fetch_readiness() {
Ok(readiness) => Some(readiness),
Err(e) => {
super::errors::handle(e, err_logger, err_presenter);
None
}
}
}
pub fn check(readiness: &MergeReadiness) -> Option<OutputToken> {
if crate::contexts::merge_readiness::domain::merge_ready::is_ready(readiness) {
Some(OutputToken::MergeReady)
} else {
None
}
}