use crate::application::OutputToken;
use crate::application::errors::{ErrorLogger, ErrorPresenter};
use crate::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::domain::merge_ready::is_ready(readiness) {
Some(OutputToken::MergeReady)
} else {
None
}
}