1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum GetNewTeamMembersError {
22 Status400(crate::models::AppError),
23 Status403(crate::models::AppError),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum GetTopChannelsForTeamError {
31 Status400(crate::models::AppError),
32 Status403(crate::models::AppError),
33 UnknownValue(serde_json::Value),
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum GetTopChannelsForUserError {
40 Status400(crate::models::AppError),
41 Status403(crate::models::AppError),
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum GetTopDmsForUserError {
49 Status400(crate::models::AppError),
50 Status403(crate::models::AppError),
51 UnknownValue(serde_json::Value),
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum GetTopReactionsForTeamError {
58 Status400(crate::models::AppError),
59 Status403(crate::models::AppError),
60 UnknownValue(serde_json::Value),
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum GetTopReactionsForUserError {
67 Status400(crate::models::AppError),
68 Status403(crate::models::AppError),
69 UnknownValue(serde_json::Value),
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(untagged)]
75pub enum GetTopThreadsForTeamError {
76 Status400(crate::models::AppError),
77 Status403(crate::models::AppError),
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum GetTopThreadsForUserError {
85 Status400(crate::models::AppError),
86 Status403(crate::models::AppError),
87 UnknownValue(serde_json::Value),
88}
89
90
91pub async fn get_new_team_members(configuration: &configuration::Configuration, team_id: &str, time_range: &str, page: Option<i32>, per_page: Option<i32>) -> Result<crate::models::NewTeamMembersList, Error<GetNewTeamMembersError>> {
93 let local_var_configuration = configuration;
94
95 let local_var_client = &local_var_configuration.client;
96
97 let local_var_uri_str = format!("{}/teams/{team_id}/top/team_members", local_var_configuration.base_path, team_id=crate::apis::urlencode(team_id));
98 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
99
100 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
101 if let Some(ref local_var_str) = page {
102 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
103 }
104 if let Some(ref local_var_str) = per_page {
105 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
106 }
107 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
108 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
109 }
110 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
111 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
112 };
113
114 let local_var_req = local_var_req_builder.build()?;
115 let local_var_resp = local_var_client.execute(local_var_req).await?;
116
117 let local_var_status = local_var_resp.status();
118 let local_var_content = local_var_resp.text().await?;
119
120 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
121 serde_json::from_str(&local_var_content).map_err(Error::from)
122 } else {
123 let local_var_entity: Option<GetNewTeamMembersError> = serde_json::from_str(&local_var_content).ok();
124 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
125 Err(Error::ResponseError(local_var_error))
126 }
127}
128
129pub async fn get_top_channels_for_team(configuration: &configuration::Configuration, team_id: &str, time_range: &str, page: Option<i32>, per_page: Option<i32>) -> Result<crate::models::TopChannelList, Error<GetTopChannelsForTeamError>> {
131 let local_var_configuration = configuration;
132
133 let local_var_client = &local_var_configuration.client;
134
135 let local_var_uri_str = format!("{}/teams/{team_id}/top/channels", local_var_configuration.base_path, team_id=crate::apis::urlencode(team_id));
136 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
137
138 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
139 if let Some(ref local_var_str) = page {
140 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
141 }
142 if let Some(ref local_var_str) = per_page {
143 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
144 }
145 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
146 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
147 }
148 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
149 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
150 };
151
152 let local_var_req = local_var_req_builder.build()?;
153 let local_var_resp = local_var_client.execute(local_var_req).await?;
154
155 let local_var_status = local_var_resp.status();
156 let local_var_content = local_var_resp.text().await?;
157
158 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
159 serde_json::from_str(&local_var_content).map_err(Error::from)
160 } else {
161 let local_var_entity: Option<GetTopChannelsForTeamError> = serde_json::from_str(&local_var_content).ok();
162 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
163 Err(Error::ResponseError(local_var_error))
164 }
165}
166
167pub async fn get_top_channels_for_user(configuration: &configuration::Configuration, time_range: &str, page: Option<i32>, per_page: Option<i32>, team_id: Option<&str>) -> Result<crate::models::TopChannelList, Error<GetTopChannelsForUserError>> {
169 let local_var_configuration = configuration;
170
171 let local_var_client = &local_var_configuration.client;
172
173 let local_var_uri_str = format!("{}/users/me/top/channels", local_var_configuration.base_path);
174 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
175
176 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
177 if let Some(ref local_var_str) = page {
178 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
179 }
180 if let Some(ref local_var_str) = per_page {
181 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
182 }
183 if let Some(ref local_var_str) = team_id {
184 local_var_req_builder = local_var_req_builder.query(&[("team_id", &local_var_str.to_string())]);
185 }
186 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
187 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
188 }
189 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
190 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
191 };
192
193 let local_var_req = local_var_req_builder.build()?;
194 let local_var_resp = local_var_client.execute(local_var_req).await?;
195
196 let local_var_status = local_var_resp.status();
197 let local_var_content = local_var_resp.text().await?;
198
199 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
200 serde_json::from_str(&local_var_content).map_err(Error::from)
201 } else {
202 let local_var_entity: Option<GetTopChannelsForUserError> = serde_json::from_str(&local_var_content).ok();
203 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
204 Err(Error::ResponseError(local_var_error))
205 }
206}
207
208pub async fn get_top_dms_for_user(configuration: &configuration::Configuration, time_range: &str, page: Option<i32>, per_page: Option<i32>) -> Result<crate::models::TopDmList, Error<GetTopDmsForUserError>> {
210 let local_var_configuration = configuration;
211
212 let local_var_client = &local_var_configuration.client;
213
214 let local_var_uri_str = format!("{}/users/me/top/dms", local_var_configuration.base_path);
215 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
216
217 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
218 if let Some(ref local_var_str) = page {
219 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
220 }
221 if let Some(ref local_var_str) = per_page {
222 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
223 }
224 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
225 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
226 }
227 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
228 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
229 };
230
231 let local_var_req = local_var_req_builder.build()?;
232 let local_var_resp = local_var_client.execute(local_var_req).await?;
233
234 let local_var_status = local_var_resp.status();
235 let local_var_content = local_var_resp.text().await?;
236
237 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
238 serde_json::from_str(&local_var_content).map_err(Error::from)
239 } else {
240 let local_var_entity: Option<GetTopDmsForUserError> = serde_json::from_str(&local_var_content).ok();
241 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
242 Err(Error::ResponseError(local_var_error))
243 }
244}
245
246pub async fn get_top_reactions_for_team(configuration: &configuration::Configuration, team_id: &str, time_range: &str, page: Option<i32>, per_page: Option<i32>) -> Result<crate::models::TopReactionList, Error<GetTopReactionsForTeamError>> {
248 let local_var_configuration = configuration;
249
250 let local_var_client = &local_var_configuration.client;
251
252 let local_var_uri_str = format!("{}/teams/{team_id}/top/reactions", local_var_configuration.base_path, team_id=crate::apis::urlencode(team_id));
253 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
254
255 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
256 if let Some(ref local_var_str) = page {
257 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
258 }
259 if let Some(ref local_var_str) = per_page {
260 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
261 }
262 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
263 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
264 }
265 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
266 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
267 };
268
269 let local_var_req = local_var_req_builder.build()?;
270 let local_var_resp = local_var_client.execute(local_var_req).await?;
271
272 let local_var_status = local_var_resp.status();
273 let local_var_content = local_var_resp.text().await?;
274
275 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
276 serde_json::from_str(&local_var_content).map_err(Error::from)
277 } else {
278 let local_var_entity: Option<GetTopReactionsForTeamError> = serde_json::from_str(&local_var_content).ok();
279 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
280 Err(Error::ResponseError(local_var_error))
281 }
282}
283
284pub async fn get_top_reactions_for_user(configuration: &configuration::Configuration, time_range: &str, page: Option<i32>, per_page: Option<i32>, team_id: Option<&str>) -> Result<crate::models::TopReactionList, Error<GetTopReactionsForUserError>> {
286 let local_var_configuration = configuration;
287
288 let local_var_client = &local_var_configuration.client;
289
290 let local_var_uri_str = format!("{}/users/me/top/reactions", local_var_configuration.base_path);
291 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
292
293 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
294 if let Some(ref local_var_str) = page {
295 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
296 }
297 if let Some(ref local_var_str) = per_page {
298 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
299 }
300 if let Some(ref local_var_str) = team_id {
301 local_var_req_builder = local_var_req_builder.query(&[("team_id", &local_var_str.to_string())]);
302 }
303 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
304 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
305 }
306 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
307 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
308 };
309
310 let local_var_req = local_var_req_builder.build()?;
311 let local_var_resp = local_var_client.execute(local_var_req).await?;
312
313 let local_var_status = local_var_resp.status();
314 let local_var_content = local_var_resp.text().await?;
315
316 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
317 serde_json::from_str(&local_var_content).map_err(Error::from)
318 } else {
319 let local_var_entity: Option<GetTopReactionsForUserError> = serde_json::from_str(&local_var_content).ok();
320 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
321 Err(Error::ResponseError(local_var_error))
322 }
323}
324
325pub async fn get_top_threads_for_team(configuration: &configuration::Configuration, team_id: &str, time_range: &str, page: Option<i32>, per_page: Option<i32>) -> Result<crate::models::TopThreadList, Error<GetTopThreadsForTeamError>> {
327 let local_var_configuration = configuration;
328
329 let local_var_client = &local_var_configuration.client;
330
331 let local_var_uri_str = format!("{}/teams/{team_id}/top/threads", local_var_configuration.base_path, team_id=crate::apis::urlencode(team_id));
332 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
333
334 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
335 if let Some(ref local_var_str) = page {
336 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
337 }
338 if let Some(ref local_var_str) = per_page {
339 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
340 }
341 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
342 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
343 }
344 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
345 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
346 };
347
348 let local_var_req = local_var_req_builder.build()?;
349 let local_var_resp = local_var_client.execute(local_var_req).await?;
350
351 let local_var_status = local_var_resp.status();
352 let local_var_content = local_var_resp.text().await?;
353
354 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
355 serde_json::from_str(&local_var_content).map_err(Error::from)
356 } else {
357 let local_var_entity: Option<GetTopThreadsForTeamError> = serde_json::from_str(&local_var_content).ok();
358 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
359 Err(Error::ResponseError(local_var_error))
360 }
361}
362
363pub async fn get_top_threads_for_user(configuration: &configuration::Configuration, time_range: &str, page: Option<i32>, per_page: Option<i32>, team_id: Option<&str>) -> Result<crate::models::TopThreadList, Error<GetTopThreadsForUserError>> {
365 let local_var_configuration = configuration;
366
367 let local_var_client = &local_var_configuration.client;
368
369 let local_var_uri_str = format!("{}/users/me/top/threads", local_var_configuration.base_path);
370 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
371
372 local_var_req_builder = local_var_req_builder.query(&[("time_range", &time_range.to_string())]);
373 if let Some(ref local_var_str) = page {
374 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
375 }
376 if let Some(ref local_var_str) = per_page {
377 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
378 }
379 if let Some(ref local_var_str) = team_id {
380 local_var_req_builder = local_var_req_builder.query(&[("team_id", &local_var_str.to_string())]);
381 }
382 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
383 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
384 }
385 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
386 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
387 };
388
389 let local_var_req = local_var_req_builder.build()?;
390 let local_var_resp = local_var_client.execute(local_var_req).await?;
391
392 let local_var_status = local_var_resp.status();
393 let local_var_content = local_var_resp.text().await?;
394
395 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
396 serde_json::from_str(&local_var_content).map_err(Error::from)
397 } else {
398 let local_var_entity: Option<GetTopThreadsForUserError> = serde_json::from_str(&local_var_content).ok();
399 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
400 Err(Error::ResponseError(local_var_error))
401 }
402}
403