Skip to main content

gitverse_sdk/
webhooks.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    /// Get repository webhooks list
9    pub async fn list_webhooks(
10        &self,
11        owner: &str,
12        repo: &str,
13        opts: Option<&QueryOptions>,
14    ) -> Result<Vec<Webhook>, Error> {
15        let path = format!("/repos/{}/{}/hooks", owner, repo);
16        let resp = self.send_get(&path, opts).await?;
17        decode_response(resp).await
18    }
19
20    /// Create repository webhook
21    pub async fn create_webhook(
22        &self,
23        owner: &str,
24        repo: &str,
25        params: &CreateWebhookParams,
26    ) -> Result<Webhook, Error> {
27        let path = format!("/repos/{}/{}/hooks", owner, repo);
28        let resp = self.send_post(&path, Some(params)).await?;
29        decode_response(resp).await
30    }
31
32    /// Get webhook information
33    pub async fn get_webhook(
34        &self,
35        owner: &str,
36        repo: &str,
37        hook_id: f64,
38    ) -> Result<Webhook, Error> {
39        let path = format!("/repos/{}/{}/hooks/{}", owner, repo, hook_id);
40        let resp = self.send_get(&path, None).await?;
41        decode_response(resp).await
42    }
43
44    /// Update webhook
45    pub async fn update_webhook(
46        &self,
47        owner: &str,
48        repo: &str,
49        hook_id: f64,
50        params: &UpdateWebhookParams,
51    ) -> Result<Webhook, Error> {
52        let path = format!("/repos/{}/{}/hooks/{}", owner, repo, hook_id);
53        let resp = self.send_patch(&path, Some(params)).await?;
54        decode_response(resp).await
55    }
56
57    /// Delete webhook
58    pub async fn delete_webhook(&self, owner: &str, repo: &str, hook_id: f64) -> Result<(), Error> {
59        let path = format!("/repos/{}/{}/hooks/{}", owner, repo, hook_id);
60        let resp = self.send_delete(&path, Option::<&()>::None).await?;
61        handle_empty_response(resp).await
62    }
63}