use crate::types::repo::{CollaboratorPermission, CollaboratorResult, RepoInfo, RepoPath};
use async_trait::async_trait;
#[async_trait]
pub trait Repo {
async fn info(&self, repo_path: RepoPath) -> crate::Result<RepoInfo>;
async fn add_repo_collaborator(
&self,
repo_path: RepoPath,
user_name: &str,
permission: Option<CollaboratorPermission>,
) -> crate::Result<CollaboratorResult>;
}