jira_api_v2/apis/
dynamic_modules_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 DynamicModulesResourcePeriodGetModulesGetError {
22 Status401(models::ErrorMessage),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum DynamicModulesResourcePeriodRegisterModulesPostError {
30 Status400(models::ErrorMessage),
31 Status401(models::ErrorMessage),
32 UnknownValue(serde_json::Value),
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(untagged)]
38pub enum DynamicModulesResourcePeriodRemoveModulesDeleteError {
39 Status401(models::ErrorMessage),
40 UnknownValue(serde_json::Value),
41}
42
43
44pub async fn dynamic_modules_resource_period_get_modules_get(configuration: &configuration::Configuration, ) -> Result<models::ConnectModules, Error<DynamicModulesResourcePeriodGetModulesGetError>> {
46
47 let uri_str = format!("{}/rest/atlassian-connect/1/app/module/dynamic", configuration.base_path);
48 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
49
50 if let Some(ref user_agent) = configuration.user_agent {
51 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
52 }
53
54 let req = req_builder.build()?;
55 let resp = configuration.client.execute(req).await?;
56
57 let status = resp.status();
58
59 if !status.is_client_error() && !status.is_server_error() {
60 let content = resp.text().await?;
61 serde_json::from_str(&content).map_err(Error::from)
62 } else {
63 let content = resp.text().await?;
64 let entity: Option<DynamicModulesResourcePeriodGetModulesGetError> = serde_json::from_str(&content).ok();
65 Err(Error::ResponseError(ResponseContent { status, content, entity }))
66 }
67}
68
69pub async fn dynamic_modules_resource_period_register_modules_post(configuration: &configuration::Configuration, connect_modules: models::ConnectModules) -> Result<(), Error<DynamicModulesResourcePeriodRegisterModulesPostError>> {
71 let p_connect_modules = connect_modules;
73
74 let uri_str = format!("{}/rest/atlassian-connect/1/app/module/dynamic", configuration.base_path);
75 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
76
77 if let Some(ref user_agent) = configuration.user_agent {
78 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
79 }
80 req_builder = req_builder.json(&p_connect_modules);
81
82 let req = req_builder.build()?;
83 let resp = configuration.client.execute(req).await?;
84
85 let status = resp.status();
86
87 if !status.is_client_error() && !status.is_server_error() {
88 Ok(())
89 } else {
90 let content = resp.text().await?;
91 let entity: Option<DynamicModulesResourcePeriodRegisterModulesPostError> = serde_json::from_str(&content).ok();
92 Err(Error::ResponseError(ResponseContent { status, content, entity }))
93 }
94}
95
96pub async fn dynamic_modules_resource_period_remove_modules_delete(configuration: &configuration::Configuration, module_key: Option<Vec<String>>) -> Result<(), Error<DynamicModulesResourcePeriodRemoveModulesDeleteError>> {
98 let p_module_key = module_key;
100
101 let uri_str = format!("{}/rest/atlassian-connect/1/app/module/dynamic", configuration.base_path);
102 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
103
104 if let Some(ref param_value) = p_module_key {
105 req_builder = match "multi" {
106 "multi" => req_builder.query(¶m_value.into_iter().map(|p| ("moduleKey".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
107 _ => req_builder.query(&[("moduleKey", ¶m_value.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
108 };
109 }
110 if let Some(ref user_agent) = configuration.user_agent {
111 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
112 }
113
114 let req = req_builder.build()?;
115 let resp = configuration.client.execute(req).await?;
116
117 let status = resp.status();
118
119 if !status.is_client_error() && !status.is_server_error() {
120 Ok(())
121 } else {
122 let content = resp.text().await?;
123 let entity: Option<DynamicModulesResourcePeriodRemoveModulesDeleteError> = serde_json::from_str(&content).ok();
124 Err(Error::ResponseError(ResponseContent { status, content, entity }))
125 }
126}
127