use std::env;
use std::path::PathBuf;
use crate::utils::errors::CustomError;
use crate::core::project::Project;
use crate::utils::git::{delete_branch, remove_worktree};
use crate::utils::Return;
pub struct WorkItem {
pub name: String,
pub path: PathBuf,
}
impl WorkItem {
pub fn finish(&self, project: Project, force: bool) -> Result<Return, CustomError> {
let _ = remove_worktree(&self.name, force)?;
env::set_current_dir(&project.repository)?; let _ = delete_branch(&self.name, force)?;
Ok(Return::Cd {
path: project.repository,
})
}
}