use super::OutputToken;
use crate::contexts::merge_readiness::domain::branch_sync::{
BranchSyncRepository, BranchSyncStatus,
};
use crate::contexts::merge_readiness::domain::error::RepositoryError;
pub fn fetch(repo: &impl BranchSyncRepository) -> Result<BranchSyncStatus, RepositoryError> {
repo.fetch_sync_status()
}
pub fn check(status: &BranchSyncStatus) -> Option<OutputToken> {
match status {
BranchSyncStatus::Conflicting => Some(OutputToken::Conflict),
BranchSyncStatus::Behind => Some(OutputToken::UpdateBranch),
BranchSyncStatus::Unknown => Some(OutputToken::SyncUnknown),
BranchSyncStatus::Clean => None,
}
}