forem_openapi_client/apis/
organizations_api.rs1use reqwest;
12
13use super::{configuration, Error};
14use crate::apis::ResponseContent;
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum GetOrgArticlesError {
20 Status404(),
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum GetOrgUsersError {
28 Status404(),
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum GetOrganizationError {
36 Status404(),
37 UnknownValue(serde_json::Value),
38}
39
40pub async fn get_org_articles(
42 configuration: &configuration::Configuration,
43 username: &str,
44 page: Option<i32>,
45 per_page: Option<i32>,
46) -> Result<Vec<crate::models::ArticleIndex>, Error<GetOrgArticlesError>> {
47 let local_var_configuration = configuration;
48
49 let local_var_client = &local_var_configuration.client;
50
51 let local_var_uri_str = format!(
52 "{}/api/organizations/{username}/articles",
53 local_var_configuration.base_path,
54 username = crate::apis::urlencode(username)
55 );
56 let mut local_var_req_builder =
57 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
58
59 if let Some(ref local_var_str) = page {
60 local_var_req_builder =
61 local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
62 }
63 if let Some(ref local_var_str) = per_page {
64 local_var_req_builder =
65 local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
66 }
67 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
68 local_var_req_builder =
69 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
70 }
71
72 let local_var_req = local_var_req_builder.build()?;
73 let local_var_resp = local_var_client.execute(local_var_req).await?;
74
75 let local_var_status = local_var_resp.status();
76 let local_var_content = local_var_resp.text().await?;
77
78 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
79 serde_json::from_str(&local_var_content).map_err(Error::from)
80 } else {
81 let local_var_entity: Option<GetOrgArticlesError> =
82 serde_json::from_str(&local_var_content).ok();
83 let local_var_error = ResponseContent {
84 status: local_var_status,
85 content: local_var_content,
86 entity: local_var_entity,
87 };
88 Err(Error::ResponseError(local_var_error))
89 }
90}
91
92pub async fn get_org_users(
94 configuration: &configuration::Configuration,
95 username: &str,
96 page: Option<i32>,
97 per_page: Option<i32>,
98) -> Result<Vec<crate::models::User>, Error<GetOrgUsersError>> {
99 let local_var_configuration = configuration;
100
101 let local_var_client = &local_var_configuration.client;
102
103 let local_var_uri_str = format!(
104 "{}/api/organizations/{username}/users",
105 local_var_configuration.base_path,
106 username = crate::apis::urlencode(username)
107 );
108 let mut local_var_req_builder =
109 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
110
111 if let Some(ref local_var_str) = page {
112 local_var_req_builder =
113 local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
114 }
115 if let Some(ref local_var_str) = per_page {
116 local_var_req_builder =
117 local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
118 }
119 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
120 local_var_req_builder =
121 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
122 }
123
124 let local_var_req = local_var_req_builder.build()?;
125 let local_var_resp = local_var_client.execute(local_var_req).await?;
126
127 let local_var_status = local_var_resp.status();
128 let local_var_content = local_var_resp.text().await?;
129
130 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
131 serde_json::from_str(&local_var_content).map_err(Error::from)
132 } else {
133 let local_var_entity: Option<GetOrgUsersError> =
134 serde_json::from_str(&local_var_content).ok();
135 let local_var_error = ResponseContent {
136 status: local_var_status,
137 content: local_var_content,
138 entity: local_var_entity,
139 };
140 Err(Error::ResponseError(local_var_error))
141 }
142}
143
144pub async fn get_organization(
146 configuration: &configuration::Configuration,
147 username: &str,
148) -> Result<Vec<crate::models::Organization>, Error<GetOrganizationError>> {
149 let local_var_configuration = configuration;
150
151 let local_var_client = &local_var_configuration.client;
152
153 let local_var_uri_str = format!(
154 "{}/api/organizations/{username}",
155 local_var_configuration.base_path,
156 username = crate::apis::urlencode(username)
157 );
158 let mut local_var_req_builder =
159 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
160
161 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
162 local_var_req_builder =
163 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
164 }
165
166 let local_var_req = local_var_req_builder.build()?;
167 let local_var_resp = local_var_client.execute(local_var_req).await?;
168
169 let local_var_status = local_var_resp.status();
170 let local_var_content = local_var_resp.text().await?;
171
172 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
173 serde_json::from_str(&local_var_content).map_err(Error::from)
174 } else {
175 let local_var_entity: Option<GetOrganizationError> =
176 serde_json::from_str(&local_var_content).ok();
177 let local_var_error = ResponseContent {
178 status: local_var_status,
179 content: local_var_content,
180 entity: local_var_entity,
181 };
182 Err(Error::ResponseError(local_var_error))
183 }
184}