Skip to main content

mesa_dev/client/
diff.rs

1use crate::low_level::apis::{diffs_api, Error};
2use crate::models;
3
4use super::RepoClient;
5
6/// Client for diff operations (`/{org}/{repo}/diff`).
7#[derive(Clone, Debug)]
8pub struct DiffClient<'a> {
9    pub(super) repo: &'a RepoClient<'a>,
10}
11
12impl DiffClient<'_> {
13    /// Retrieve the diff between two refs.
14    ///
15    /// # Errors
16    ///
17    /// Returns an error if the API request fails.
18    pub async fn get(
19        &self,
20        base: &str,
21        head: &str,
22    ) -> Result<models::GetByOrgByRepoDiff200Response, Error<diffs_api::GetByOrgByRepoDiffError>>
23    {
24        diffs_api::get_by_org_by_repo_diff(
25            self.repo.org.config,
26            self.repo.org.org,
27            self.repo.repo,
28            base,
29            head,
30        )
31        .await
32    }
33}