Skip to main content

atlassian_rust_api/jira/endpoints/application_roles/
get_roles.rs

1use std::sync::Arc;
2
3use crate::{Jira, Result, rest_client::RestClient, web::Endpoint};
4
5#[derive(Debug, Clone)]
6pub struct GetRolesBuilder {
7	client: Arc<RestClient>,
8	request: GetRolesRequest,
9}
10
11#[derive(Debug, Clone, Default)]
12struct GetRolesRequest;
13
14impl Endpoint for GetRolesRequest {
15	fn endpoint(&self) -> std::borrow::Cow<'static, str> {
16		"applicationrole".into()
17	}
18}
19
20impl GetRolesBuilder {
21	fn new(client: Arc<RestClient>) -> GetRolesBuilder {
22		GetRolesBuilder { client, request: GetRolesRequest::default() }
23	}
24
25	pub async fn send(self) -> Result<serde_json::Value> {
26		self.client.get(self.request).await
27	}
28}
29
30impl Jira {
31	/// Returns all ApplicationRoles in the system.
32	pub fn get_roles(&self) -> GetRolesBuilder {
33		GetRolesBuilder::new(Arc::clone(&self.client))
34	}
35}