use std::path::PathBuf;
use iced::Task;
use crate::message::Message;
pub fn load_commit_file_list(path: PathBuf, oid: String) -> Task<Message> {
git_task!(
Message::CommitFileListLoaded,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::diff::get_commit_file_list(&repo, &oid)
.map_err(|e| e.to_string())
})()
)
}
pub fn load_single_file_diff(path: PathBuf, oid: String, file_path: String) -> Task<Message> {
git_task!(
Message::SingleFileDiffLoaded,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::diff::get_single_file_diff(&repo, &oid, &file_path)
.map_err(|e| e.to_string())
})()
)
}
pub fn create_commit(path: PathBuf, message: String) -> Task<Message> {
git_task!(
Message::CommitCreated,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::commits::create_commit(&repo, &message)
.map(|_| ())
.map_err(|e| e.to_string())
})()
)
}