Skip to main content

atlassian_rust_api/jira/endpoints/permissions/
get_all_permissions.rs

1use std::sync::Arc;
2
3use crate::{Jira, Result, rest_client::RestClient, web::Endpoint};
4
5#[derive(Debug, Clone)]
6pub struct GetAllPermissionsBuilder {
7	client: Arc<RestClient>,
8	request: GetAllPermissionsRequest,
9}
10
11#[derive(Debug, Clone, Default)]
12struct GetAllPermissionsRequest;
13
14impl Endpoint for GetAllPermissionsRequest {
15	fn endpoint(&self) -> std::borrow::Cow<'static, str> {
16		"permissions".into()
17	}
18}
19
20impl GetAllPermissionsBuilder {
21	fn new(client: Arc<RestClient>) -> GetAllPermissionsBuilder {
22		GetAllPermissionsBuilder { client, request: GetAllPermissionsRequest::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 permissions that are present in the Jira instance
32	pub fn get_all_permissions(&self) -> GetAllPermissionsBuilder {
33		GetAllPermissionsBuilder::new(Arc::clone(&self.client))
34	}
35}