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