Skip to main content

atlassian_rust_api/jira/endpoints/components/
get_component_related_issues.rs

1use std::sync::Arc;
2
3use crate::{Jira, Result, rest_client::RestClient, web::Endpoint};
4
5#[derive(Debug, Clone)]
6pub struct GetComponentRelatedIssuesBuilder {
7	client: Arc<RestClient>,
8	request: GetComponentRelatedIssuesRequest,
9}
10
11#[derive(Debug, Clone, Default)]
12struct GetComponentRelatedIssuesRequest {
13	id: u64
14}
15
16impl Endpoint for GetComponentRelatedIssuesRequest {
17	fn endpoint(&self) -> std::borrow::Cow<'static, str> {
18		format!("component/{}/relatedIssueCounts", self.id).into()
19	}
20}
21
22impl GetComponentRelatedIssuesBuilder {
23	fn new(client: Arc<RestClient>) -> GetComponentRelatedIssuesBuilder {
24		GetComponentRelatedIssuesBuilder { client, request: GetComponentRelatedIssuesRequest::default() }
25	}
26
27	fn id(mut self, id: u64) -> GetComponentRelatedIssuesBuilder {
28		self.request.id = id;
29		self
30	}
31
32	pub async fn send(self) -> Result<()> {
33		self.client.get(self.request).await
34	}
35}
36
37impl Jira {
38	/// Returns counts of issues related to this component.
39	pub fn get_component_related_issues(&self, id: u64) -> GetComponentRelatedIssuesBuilder {
40		GetComponentRelatedIssuesBuilder::new(Arc::clone(&self.client)).id(id)
41	}
42}