Trait VersionControl
Source pub trait VersionControl {
Show 14 methods
// Required methods
fn init(
hostname: String,
repo: String,
settings: VersionControlSettings,
) -> Self
where Self: Sized;
fn login_url(&self) -> String;
fn validate_token(&self, token: &str) -> Result<()>;
fn create_pr(&self, pr: CreatePullRequest) -> Result<PullRequest>;
fn get_pr_by_id(&self, id: u32) -> Result<PullRequest>;
fn get_pr_by_branch(&self, branch: &str) -> Result<PullRequest>;
fn list_prs(
&self,
filters: ListPullRequestFilters,
) -> Result<Vec<PullRequest>>;
fn approve_pr(&self, id: u32) -> Result<()>;
fn close_pr(&self, id: u32) -> Result<PullRequest>;
fn merge_pr(
&self,
id: u32,
delete_source_branch: bool,
) -> Result<PullRequest>;
fn get_repository(&self) -> Result<Repository>;
fn create_repository(&self, repo: CreateRepository) -> Result<Repository>;
fn fork_repository(&self, repo: ForkRepository) -> Result<Repository>;
fn delete_repository(&self) -> Result<()>;
}