Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

Represents a Gitea client.

This struct is the main way to interact with the Gitea API. It provides methods for creating repositories, getting repositories, deleting repositories, and listing a repo’s commits.

Implementations§

Source§

impl Client

Source

pub fn new(base_url: impl ToString, auth: Auth<impl ToString>) -> Self

Creates a new Gitea client with the given base URL and personal token. NOTE: The base URL MUST not include the /api/v1 path and should not contain any trailing slashes. For example, https://gitea.example.com is a valid base URL, but https://gitea.example.com/ or https://gitea.example.com/api/v1 are not.

Source

pub fn repos(&self, owner: impl ToString, repo: impl ToString) -> Repos

Source

pub fn migrate_repo( &self, clone_addr: impl ToString, repo_name: impl ToString, ) -> MigrateRepoBuilder

Migrates a repository from another service to Gitea.

This will create a new repository in Gitea with the same name as the repository in the source service and copy all the data from the source repository to the new repository. The source repository will not be modified.

Gitea supports pull-mirrors, which will keep the new repository in sync with the source repository. This is useful if you want to keep the new repository up-to-date with the source repository.

§Example
let client = Client::new("https://gitea.example.com", Auth::Token("your-token"));
let repo = client
    .migrate_repo("https://example.git.com/owner/repo", "repo")
    .mirror(true)
    .mirror_interval("1h")
    .send(&client)
    .await
    .unwrap();

This will create a new repository in Gitea with the name repo and copy all the data from the repository at https://example.git.com/owner/repo to the new repository. The new repository will be kept in sync with the source repository every hour.

Source

pub fn issues(&self, owner: impl ToString, repo: impl ToString) -> Issues

Source

pub fn pulls(&self, owner: impl ToString, repo: impl ToString) -> Pulls

Source

pub fn search(&self) -> Search

Source

pub fn user(&self) -> User

Source

pub fn users(&self, username: impl ToString) -> Users

Source

pub fn orgs(&self, name: impl ToString) -> Orgs

Source

pub fn delete(&self, path: impl Display) -> RequestBuilder

Creates a new DELETE-request builder with the given path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub fn patch(&self, path: impl Display) -> RequestBuilder

Creates a new PATCH-request builder with the given path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub fn post(&self, path: impl Display) -> RequestBuilder

Creates a new POST-request builder with the given path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub fn get(&self, path: impl Display) -> RequestBuilder

Creates a new POST-request builder with the given path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub fn put(&self, path: impl Display) -> RequestBuilder

Creates a new PUT-request builder with the given path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub fn request_base(&self, method: Method, path: impl Display) -> RequestBuilder

Creates a new request builder with the given method and path. You may use this method to talk to the Gitea API directly if you need to. path will be prefixed with {base_url}/api/v1/ before the request is sent.

Source

pub async fn make_request(&self, req: Request) -> Result<Response>

Sends a request and checks the response for errors. You may use this method to talk to the Gitea API directly if you need to. This method will return a TeatimeError if the request fails. NOTE: This method is not recommended for general use. Use the more specific methods provided by the Client struct if they exist. You are responsible for providing the correct Model for the response.

Source

pub async fn parse_response<T: DeserializeOwned>( &self, res: Response, ) -> Result<T>

Parses a json response into a given model. You may use this method to talk to the Gitea API directly if you need to. This method will return a TeatimeError if the response cannot be deserialized. NOTE: This method is not recommended for general use. Use the more specific methods provided by the Client struct if they exist. You are responsible for providing the correct Model for the response.

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,