jira_api_v2/apis/
issue_security_level_api.rs1use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum GetIssueSecurityLevelError {
22 Status401(),
23 Status404(),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum GetIssueSecurityLevelMembersError {
31 Status400(),
32 Status401(),
33 Status403(),
34 Status404(),
35 UnknownValue(serde_json::Value),
36}
37
38
39pub async fn get_issue_security_level(configuration: &configuration::Configuration, id: &str) -> Result<models::SecurityLevel, Error<GetIssueSecurityLevelError>> {
41 let p_id = id;
43
44 let uri_str = format!("{}/rest/api/2/securitylevel/{id}", configuration.base_path, id=crate::apis::urlencode(p_id));
45 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
46
47 if let Some(ref user_agent) = configuration.user_agent {
48 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
49 }
50 if let Some(ref token) = configuration.oauth_access_token {
51 req_builder = req_builder.bearer_auth(token.to_owned());
52 };
53 if let Some(ref auth_conf) = configuration.basic_auth {
54 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
55 };
56
57 let req = req_builder.build()?;
58 let resp = configuration.client.execute(req).await?;
59
60 let status = resp.status();
61
62 if !status.is_client_error() && !status.is_server_error() {
63 let content = resp.text().await?;
64 serde_json::from_str(&content).map_err(Error::from)
65 } else {
66 let content = resp.text().await?;
67 let entity: Option<GetIssueSecurityLevelError> = serde_json::from_str(&content).ok();
68 Err(Error::ResponseError(ResponseContent { status, content, entity }))
69 }
70}
71
72pub async fn get_issue_security_level_members(configuration: &configuration::Configuration, issue_security_scheme_id: i64, start_at: Option<i64>, max_results: Option<i32>, issue_security_level_id: Option<Vec<i64>>, expand: Option<&str>) -> Result<models::PageBeanIssueSecurityLevelMember, Error<GetIssueSecurityLevelMembersError>> {
74 let p_issue_security_scheme_id = issue_security_scheme_id;
76 let p_start_at = start_at;
77 let p_max_results = max_results;
78 let p_issue_security_level_id = issue_security_level_id;
79 let p_expand = expand;
80
81 let uri_str = format!("{}/rest/api/2/issuesecurityschemes/{issueSecuritySchemeId}/members", configuration.base_path, issueSecuritySchemeId=p_issue_security_scheme_id);
82 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
83
84 if let Some(ref param_value) = p_start_at {
85 req_builder = req_builder.query(&[("startAt", ¶m_value.to_string())]);
86 }
87 if let Some(ref param_value) = p_max_results {
88 req_builder = req_builder.query(&[("maxResults", ¶m_value.to_string())]);
89 }
90 if let Some(ref param_value) = p_issue_security_level_id {
91 req_builder = match "multi" {
92 "multi" => req_builder.query(¶m_value.into_iter().map(|p| ("issueSecurityLevelId".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
93 _ => req_builder.query(&[("issueSecurityLevelId", ¶m_value.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
94 };
95 }
96 if let Some(ref param_value) = p_expand {
97 req_builder = req_builder.query(&[("expand", ¶m_value.to_string())]);
98 }
99 if let Some(ref user_agent) = configuration.user_agent {
100 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
101 }
102 if let Some(ref token) = configuration.oauth_access_token {
103 req_builder = req_builder.bearer_auth(token.to_owned());
104 };
105 if let Some(ref auth_conf) = configuration.basic_auth {
106 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
107 };
108
109 let req = req_builder.build()?;
110 let resp = configuration.client.execute(req).await?;
111
112 let status = resp.status();
113
114 if !status.is_client_error() && !status.is_server_error() {
115 let content = resp.text().await?;
116 serde_json::from_str(&content).map_err(Error::from)
117 } else {
118 let content = resp.text().await?;
119 let entity: Option<GetIssueSecurityLevelMembersError> = serde_json::from_str(&content).ok();
120 Err(Error::ResponseError(ResponseContent { status, content, entity }))
121 }
122}
123