use crate::application::OutputToken;
use crate::application::errors::{ErrorLogger, ErrorPresenter};
use crate::domain::review::{ReviewRepository, ReviewStatus};
pub fn fetch(
repo: &impl ReviewRepository,
err_logger: &impl ErrorLogger,
err_presenter: &impl ErrorPresenter,
) -> Option<ReviewStatus> {
match repo.fetch_review_status() {
Ok(status) => Some(status),
Err(e) => {
super::errors::handle(e, err_logger, err_presenter);
None
}
}
}
pub fn check(status: &ReviewStatus) -> Option<OutputToken> {
match status {
ReviewStatus::ChangesRequested => Some(OutputToken::ReviewRequested),
ReviewStatus::Other => None,
}
}