gitea_sdk/api/issues/comments/
list.rsuse build_it::Builder;
use serde::Serialize;
use crate::{error::Result, model::issues::Comment, Client};
#[derive(Debug, Clone, Builder, Serialize)]
#[build_it(into)]
pub struct ListAllCommentsBuilder {
#[serde(skip)]
#[build_it(skip)]
owner: String,
#[serde(skip)]
#[build_it(skip)]
repo: String,
since: Option<String>,
before: Option<String>,
page: Option<i64>,
limit: Option<i64>,
}
#[derive(Debug, Clone, Builder, Serialize)]
#[build_it(into)]
pub struct ListCommentsBuilder {
#[serde(skip)]
#[build_it(skip)]
owner: String,
#[serde(skip)]
#[build_it(skip)]
repo: String,
#[serde(skip)]
#[build_it(skip)]
issue: i64,
since: Option<String>,
before: Option<String>,
page: Option<i64>,
limit: Option<i64>,
}
impl ListAllCommentsBuilder {
pub fn new(owner: &str, repo: &str) -> Self {
Self {
owner: owner.to_string(),
repo: repo.to_string(),
since: None,
before: None,
page: None,
limit: None,
}
}
pub async fn send(&self, client: &Client) -> Result<Vec<Comment>> {
let owner = &self.owner;
let repo = &self.repo;
let req = client
.get(format!("repos/{owner}/{repo}/issues/comments"))
.query(self)
.build()?;
let res = client.make_request(req).await?;
client.parse_response(res).await
}
}
impl ListCommentsBuilder {
pub fn new(owner: &str, repo: &str, issue: i64) -> Self {
Self {
owner: owner.to_string(),
repo: repo.to_string(),
issue,
since: None,
before: None,
page: None,
limit: None,
}
}
pub async fn send(&self, client: &Client) -> Result<Vec<Comment>> {
let owner = &self.owner;
let repo = &self.repo;
let issue = self.issue;
let req = client
.get(format!("repos/{owner}/{repo}/issues/{issue}/comments"))
.query(self)
.build()?;
let res = client.make_request(req).await?;
client.parse_response(res).await
}
}