gitea_sdk/api/issues/comments/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
pub mod create;
pub mod delete;
pub mod edit;
pub mod get;
pub mod list;

pub struct Comments {
    pub(crate) owner: String,
    pub(crate) repo: String,
}

impl Comments {
    /// Create a comment on an issue.
    ///
    /// # Example
    /// ```
    /// # use gitea_sdk::{Client, Auth};
    /// # async fn create_comment() {
    /// let client = Client::new(
    ///     "https://gitea.example.com",
    ///     Auth::Token("your-token")
    /// );
    /// let comment = client
    ///     .issues("owner", "repo")
    ///     .comments()
    ///     .create(1, "This is a comment")
    ///     .send(&client)
    ///     .await
    ///     .unwrap();
    /// # }
    /// ```
    pub fn create(&self, issue: i64, body: impl ToString) -> create::CreateCommentBuilder {
        create::CreateCommentBuilder::new(&self.owner, &self.repo, issue, body)
    }
    /// List an issue's comments.
    ///
    /// # Example
    /// ```
    /// # use gitea_sdk::{Client, Auth};
    /// # async fn list_comments() {
    /// let client = Client::new(
    ///     "https://gitea.example.com",
    ///     Auth::Token("your-token")
    /// );
    /// let comments = client
    ///     .issues("owner", "repo")
    ///     .comments()
    ///     .list(1)
    ///     .send(&client)
    ///     .await
    ///     .unwrap();
    /// # }
    /// ```
    pub fn list(&self, issue: i64) -> list::ListCommentsBuilder {
        list::ListCommentsBuilder::new(&self.owner, &self.repo, issue)
    }
    /// List all comments in a repository.
    /// This will return a list of all comments in the repository.
    ///
    /// # Example
    /// ```
    /// # use gitea_sdk::{Client, Auth};
    /// # async fn list_all_comments() {
    /// let client = Client::new(
    ///     "https://gitea.example.com",
    ///     Auth::Token("your-token")
    /// );
    /// let comments = client
    ///     .issues("owner", "repo")
    ///     .comments()
    ///     .list_all()
    ///     .send(&client)
    ///     .await
    ///     .unwrap();
    /// # }
    /// ```
    pub fn list_all(&self) -> list::ListAllCommentsBuilder {
        list::ListAllCommentsBuilder::new(&self.owner, &self.repo)
    }

    /// Edit a comment on an issue.
    ///
    /// # Example
    /// ```
    /// # use gitea_sdk::{Client, Auth};
    /// # async fn edit_comment() {
    /// let client = Client::new(
    ///     "https://gitea.example.com",
    ///     Auth::Token("your-token")
    /// );
    /// let comment = client
    ///     .issues("owner", "repo")
    ///     .comments()
    ///     .edit(1, "This is an edited comment")
    ///     .send(&client)
    ///     .await
    ///     .unwrap();
    /// # }
    /// ```
    pub fn edit(&self, comment: i64, body: impl ToString) -> edit::EditCommentBuilder {
        edit::EditCommentBuilder::new(&self.owner, &self.repo, comment, body)
    }

    /// Delete a comment on an issue.
    ///
    /// # Example
    /// ```
    /// # use gitea_sdk::{Client, Auth};
    /// # async fn delete_comment() {
    /// let client = Client::new(
    ///     "https://gitea.example.com",
    ///     Auth::Token("your-token")
    /// );
    /// client
    ///     .issues("owner", "repo")
    ///     .comments()
    ///     .delete(1)
    ///     .send(&client)
    ///     .await
    ///     .unwrap();
    /// # }
    /// ```
    pub fn delete(&self, comment: i64) -> delete::DeleteCommentBuilder {
        delete::DeleteCommentBuilder::new(&self.owner, &self.repo, comment)
    }
}