Skip to main content

PlatformClient

Trait PlatformClient 

Source
pub trait PlatformClient {
    // Required methods
    fn create_repo(
        &self,
        name: &str,
        description: Option<&str>,
        visibility: Visibility,
        namespace: Option<&str>,
    ) -> Result<RemoteRepo>;
    fn delete_repo(&self, owner: &str, repo: &str) -> Result<()>;
    fn update_repo(
        &self,
        owner: &str,
        repo: &str,
        settings: RepoSettings,
    ) -> Result<RemoteRepo>;
    fn get_repo(&self, owner: &str, repo: &str) -> Result<RemoteRepo>;
    fn list_repos(&self) -> Result<Vec<RemoteRepo>>;
    fn set_visibility(
        &self,
        owner: &str,
        repo: &str,
        visibility: Visibility,
    ) -> Result<()>;
    fn configure_features(
        &self,
        owner: &str,
        repo: &str,
        features: RepoFeatures,
    ) -> Result<()>;
}
Expand description

Platform-specific API client trait

Required Methods§

Source

fn create_repo( &self, name: &str, description: Option<&str>, visibility: Visibility, namespace: Option<&str>, ) -> Result<RemoteRepo>

Create a new repository Create a repository. namespace: None → authenticated user’s personal account. Some(owner) → organization (GitHub/Gitea/Forgejo/Codeberg) or group/subgroup path (GitLab).

Source

fn delete_repo(&self, owner: &str, repo: &str) -> Result<()>

Delete a repository

Source

fn update_repo( &self, owner: &str, repo: &str, settings: RepoSettings, ) -> Result<RemoteRepo>

Update repository settings

Source

fn get_repo(&self, owner: &str, repo: &str) -> Result<RemoteRepo>

Get repository information

Source

fn list_repos(&self) -> Result<Vec<RemoteRepo>>

List user repositories

Source

fn set_visibility( &self, owner: &str, repo: &str, visibility: Visibility, ) -> Result<()>

Set repository visibility

Source

fn configure_features( &self, owner: &str, repo: &str, features: RepoFeatures, ) -> Result<()>

Enable/disable features

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§