atlassian_rust_api/jira/endpoints/application_roles/
get_role.rs1use std::sync::Arc;
2
3use crate::{Jira, Result, rest_client::RestClient, web::Endpoint};
4
5#[derive(Debug, Clone)]
6pub struct GetRoleBuilder {
7 client: Arc<RestClient>,
8 request: GetRoleRequest,
9}
10
11#[derive(Debug, Clone, Default)]
12struct GetRoleRequest {
13 key: String,
14}
15
16impl Endpoint for GetRoleRequest {
17 fn endpoint(&self) -> std::borrow::Cow<'static, str> {
18 format!("applicationrole/{}", &self.key).into()
19 }
20}
21
22impl GetRoleBuilder {
23 fn new(client: Arc<RestClient>) -> GetRoleBuilder {
24 GetRoleBuilder { client, request: GetRoleRequest::default() }
25 }
26
27 fn key(mut self, key: impl Into<String>) -> GetRoleBuilder {
28 self.request.key = key.into();
29 self
30 }
31
32 pub async fn send(self) -> Result<serde_json::Value> {
33 self.client.get(self.request).await
34 }
35}
36
37impl Jira {
38 pub fn get_role(&self, key: impl Into<String>) -> GetRoleBuilder {
41 GetRoleBuilder::new(Arc::clone(&self.client)).key(key)
42 }
43}