use crate::types::repo::{CollaboratorPermission, CollaboratorResult, RepoInfo, RepoPath};
use async_trait::async_trait;
#[async_trait]
pub trait Repo: Send + Sync {
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>;
}