1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateOrganizationError {
22 Status400(models::ErrorResponseBody),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum DeleteOrganizationError {
30 Status400(models::ErrorResponseBody),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum GetOrganizationError {
38 Status400(models::ErrorResponseBody),
39 Status404(models::ErrorResponseBody),
40 UnknownValue(serde_json::Value),
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(untagged)]
46pub enum GetOrganizationUsageError {
47 Status400(models::ErrorResponseBody),
48 UnknownValue(serde_json::Value),
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
53#[serde(untagged)]
54pub enum GetOrganizationUsersError {
55 Status400(models::ErrorResponseBody),
56 UnknownValue(serde_json::Value),
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
61#[serde(untagged)]
62pub enum UpdateAllOrgDatasetConfigsError {
63 Status400(models::ErrorResponseBody),
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum UpdateOrganizationError {
71 Status400(models::ErrorResponseBody),
72 UnknownValue(serde_json::Value),
73}
74
75
76pub async fn create_organization(configuration: &configuration::Configuration, create_organization_req_payload: models::CreateOrganizationReqPayload) -> Result<models::Organization, Error<CreateOrganizationError>> {
78 let local_var_configuration = configuration;
79
80 let local_var_client = &local_var_configuration.client;
81
82 let local_var_uri_str = format!("{}/api/organization", local_var_configuration.base_path);
83 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
84
85 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
86 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
87 }
88 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
89 let local_var_key = local_var_apikey.key.clone();
90 let local_var_value = match local_var_apikey.prefix {
91 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
92 None => local_var_key,
93 };
94 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
95 };
96 local_var_req_builder = local_var_req_builder.json(&create_organization_req_payload);
97
98 let local_var_req = local_var_req_builder.build()?;
99 let local_var_resp = local_var_client.execute(local_var_req).await?;
100
101 let local_var_status = local_var_resp.status();
102 let local_var_content = local_var_resp.text().await?;
103
104 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
105 serde_json::from_str(&local_var_content).map_err(Error::from)
106 } else {
107 let local_var_entity: Option<CreateOrganizationError> = serde_json::from_str(&local_var_content).ok();
108 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
109 Err(Error::ResponseError(local_var_error))
110 }
111}
112
113pub async fn delete_organization(configuration: &configuration::Configuration, tr_organization: &str, organization_id: &str) -> Result<(), Error<DeleteOrganizationError>> {
115 let local_var_configuration = configuration;
116
117 let local_var_client = &local_var_configuration.client;
118
119 let local_var_uri_str = format!("{}/api/organization/{organization_id}", local_var_configuration.base_path, organization_id=crate::apis::urlencode(organization_id));
120 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
121
122 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
123 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
124 }
125 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
126 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
127 let local_var_key = local_var_apikey.key.clone();
128 let local_var_value = match local_var_apikey.prefix {
129 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
130 None => local_var_key,
131 };
132 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
133 };
134
135 let local_var_req = local_var_req_builder.build()?;
136 let local_var_resp = local_var_client.execute(local_var_req).await?;
137
138 let local_var_status = local_var_resp.status();
139 let local_var_content = local_var_resp.text().await?;
140
141 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
142 Ok(())
143 } else {
144 let local_var_entity: Option<DeleteOrganizationError> = serde_json::from_str(&local_var_content).ok();
145 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
146 Err(Error::ResponseError(local_var_error))
147 }
148}
149
150pub async fn get_organization(configuration: &configuration::Configuration, tr_organization: &str, organization_id: &str) -> Result<models::Organization, Error<GetOrganizationError>> {
152 let local_var_configuration = configuration;
153
154 let local_var_client = &local_var_configuration.client;
155
156 let local_var_uri_str = format!("{}/api/organization/{organization_id}", local_var_configuration.base_path, organization_id=crate::apis::urlencode(organization_id));
157 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
158
159 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
160 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
161 }
162 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
163 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
164 let local_var_key = local_var_apikey.key.clone();
165 let local_var_value = match local_var_apikey.prefix {
166 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
167 None => local_var_key,
168 };
169 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
170 };
171
172 let local_var_req = local_var_req_builder.build()?;
173 let local_var_resp = local_var_client.execute(local_var_req).await?;
174
175 let local_var_status = local_var_resp.status();
176 let local_var_content = local_var_resp.text().await?;
177
178 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
179 serde_json::from_str(&local_var_content).map_err(Error::from)
180 } else {
181 let local_var_entity: Option<GetOrganizationError> = serde_json::from_str(&local_var_content).ok();
182 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
183 Err(Error::ResponseError(local_var_error))
184 }
185}
186
187pub async fn get_organization_usage(configuration: &configuration::Configuration, tr_organization: &str, organization_id: &str) -> Result<models::OrganizationUsageCount, Error<GetOrganizationUsageError>> {
189 let local_var_configuration = configuration;
190
191 let local_var_client = &local_var_configuration.client;
192
193 let local_var_uri_str = format!("{}/api/organization/usage/{organization_id}", local_var_configuration.base_path, organization_id=crate::apis::urlencode(organization_id));
194 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
195
196 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
197 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
198 }
199 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
200 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
201 let local_var_key = local_var_apikey.key.clone();
202 let local_var_value = match local_var_apikey.prefix {
203 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
204 None => local_var_key,
205 };
206 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
207 };
208
209 let local_var_req = local_var_req_builder.build()?;
210 let local_var_resp = local_var_client.execute(local_var_req).await?;
211
212 let local_var_status = local_var_resp.status();
213 let local_var_content = local_var_resp.text().await?;
214
215 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
216 serde_json::from_str(&local_var_content).map_err(Error::from)
217 } else {
218 let local_var_entity: Option<GetOrganizationUsageError> = serde_json::from_str(&local_var_content).ok();
219 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
220 Err(Error::ResponseError(local_var_error))
221 }
222}
223
224pub async fn get_organization_users(configuration: &configuration::Configuration, tr_organization: &str, organization_id: &str) -> Result<Vec<models::SlimUser>, Error<GetOrganizationUsersError>> {
226 let local_var_configuration = configuration;
227
228 let local_var_client = &local_var_configuration.client;
229
230 let local_var_uri_str = format!("{}/api/organization/users/{organization_id}", local_var_configuration.base_path, organization_id=crate::apis::urlencode(organization_id));
231 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
232
233 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
234 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
235 }
236 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
237 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
238 let local_var_key = local_var_apikey.key.clone();
239 let local_var_value = match local_var_apikey.prefix {
240 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
241 None => local_var_key,
242 };
243 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
244 };
245
246 let local_var_req = local_var_req_builder.build()?;
247 let local_var_resp = local_var_client.execute(local_var_req).await?;
248
249 let local_var_status = local_var_resp.status();
250 let local_var_content = local_var_resp.text().await?;
251
252 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
253 serde_json::from_str(&local_var_content).map_err(Error::from)
254 } else {
255 let local_var_entity: Option<GetOrganizationUsersError> = serde_json::from_str(&local_var_content).ok();
256 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
257 Err(Error::ResponseError(local_var_error))
258 }
259}
260
261pub async fn update_all_org_dataset_configs(configuration: &configuration::Configuration, tr_organization: &str, update_all_org_dataset_configs_req_payload: models::UpdateAllOrgDatasetConfigsReqPayload) -> Result<(), Error<UpdateAllOrgDatasetConfigsError>> {
263 let local_var_configuration = configuration;
264
265 let local_var_client = &local_var_configuration.client;
266
267 let local_var_uri_str = format!("{}/api/organization/update_dataset_configs", local_var_configuration.base_path);
268 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
269
270 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
271 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
272 }
273 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
274 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
275 let local_var_key = local_var_apikey.key.clone();
276 let local_var_value = match local_var_apikey.prefix {
277 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
278 None => local_var_key,
279 };
280 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
281 };
282 local_var_req_builder = local_var_req_builder.json(&update_all_org_dataset_configs_req_payload);
283
284 let local_var_req = local_var_req_builder.build()?;
285 let local_var_resp = local_var_client.execute(local_var_req).await?;
286
287 let local_var_status = local_var_resp.status();
288 let local_var_content = local_var_resp.text().await?;
289
290 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
291 Ok(())
292 } else {
293 let local_var_entity: Option<UpdateAllOrgDatasetConfigsError> = serde_json::from_str(&local_var_content).ok();
294 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
295 Err(Error::ResponseError(local_var_error))
296 }
297}
298
299pub async fn update_organization(configuration: &configuration::Configuration, tr_organization: &str, update_organization_req_payload: models::UpdateOrganizationReqPayload) -> Result<models::Organization, Error<UpdateOrganizationError>> {
301 let local_var_configuration = configuration;
302
303 let local_var_client = &local_var_configuration.client;
304
305 let local_var_uri_str = format!("{}/api/organization", local_var_configuration.base_path);
306 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
307
308 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
309 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
310 }
311 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
312 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
313 let local_var_key = local_var_apikey.key.clone();
314 let local_var_value = match local_var_apikey.prefix {
315 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
316 None => local_var_key,
317 };
318 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
319 };
320 local_var_req_builder = local_var_req_builder.json(&update_organization_req_payload);
321
322 let local_var_req = local_var_req_builder.build()?;
323 let local_var_resp = local_var_client.execute(local_var_req).await?;
324
325 let local_var_status = local_var_resp.status();
326 let local_var_content = local_var_resp.text().await?;
327
328 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
329 serde_json::from_str(&local_var_content).map_err(Error::from)
330 } else {
331 let local_var_entity: Option<UpdateOrganizationError> = serde_json::from_str(&local_var_content).ok();
332 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
333 Err(Error::ResponseError(local_var_error))
334 }
335}
336