Skip to main content

gitverse_sdk/
pulls.rs

1// Code generated by gitverse-codegen. DO NOT EDIT.
2
3use crate::client::{Client, decode_response, handle_empty_response};
4use crate::errors::Error;
5use crate::types::*;
6
7impl Client {
8    /// Create a pull request
9    pub async fn create(
10        &self,
11        owner: &str,
12        repo: &str,
13        params: &CreatePullRequestParams,
14    ) -> Result<PullRequest, Error> {
15        let path = format!("/repos/{}/{}/pulls", owner, repo);
16        let resp = self.send_post(&path, Some(params)).await?;
17        decode_response(resp).await
18    }
19
20    /// List pull request commits
21    pub async fn list_commits_pull_requests(
22        &self,
23        owner: &str,
24        repo: &str,
25        pull_number: f64,
26        opts: Option<&QueryOptions>,
27    ) -> Result<Vec<Commit>, Error> {
28        let path = format!("/repos/{}/{}/pulls/{}/commits", owner, repo, pull_number);
29        let resp = self.send_get(&path, opts).await?;
30        decode_response(resp).await
31    }
32
33    /// List pull request files
34    pub async fn list_files(
35        &self,
36        owner: &str,
37        repo: &str,
38        pull_number: f64,
39        opts: Option<&QueryOptions>,
40    ) -> Result<Vec<CommitFiles>, Error> {
41        let path = format!("/repos/{}/{}/pulls/{}/files", owner, repo, pull_number);
42        let resp = self.send_get(&path, opts).await?;
43        decode_response(resp).await
44    }
45
46    /// Checks if a pull request has been merged into the base branch.
47    pub async fn is_merged(&self, owner: &str, repo: &str, pull_number: f64) -> Result<(), Error> {
48        let path = format!("/repos/{}/{}/pulls/{}/merge", owner, repo, pull_number);
49        let resp = self.send_get(&path, None).await?;
50        handle_empty_response(resp).await
51    }
52
53    /// Update a pull request branch
54    pub async fn update_branch(
55        &self,
56        owner: &str,
57        repo: &str,
58        pull_number: f64,
59        params: &UpdateBranchParams,
60    ) -> Result<UpdateBranchResponse, Error> {
61        let path = format!(
62            "/repos/{}/{}/pulls/{}/update-branch",
63            owner, repo, pull_number
64        );
65        let resp = self.send_put(&path, Some(params)).await?;
66        decode_response(resp).await
67    }
68}