1use reqwest;
12
13use super::{configuration, Error};
14use super::ResponseContent;
15
16#[derive(Clone, Debug, Default)]
18pub struct CreateCommandParams {
19 pub create_command_request: crate::openapi::models::CreateCommandRequest,
21}
22
23#[derive(Clone, Debug, Default)]
25pub struct DeleteCommandParams {
26 pub command_id: String,
28}
29
30#[derive(Clone, Debug, Default)]
32pub struct ExecuteCommandParams {
33 pub execute_command_request: crate::openapi::models::ExecuteCommandRequest,
35}
36
37#[derive(Clone, Debug, Default)]
39pub struct GetCommandByIdParams {
40 pub command_id: String,
42}
43
44#[derive(Clone, Debug, Default)]
46pub struct ListAutocompleteCommandsParams {
47 pub team_id: String,
49}
50
51#[derive(Clone, Debug, Default)]
53pub struct ListCommandAutocompleteSuggestionsParams {
54 pub team_id: String,
56 pub user_input: String,
58}
59
60#[derive(Clone, Debug, Default)]
62pub struct ListCommandsParams {
63 pub team_id: Option<String>,
65 pub custom_only: Option<bool>,
67}
68
69#[derive(Clone, Debug, Default)]
71pub struct MoveCommandParams {
72 pub command_id: String,
74 pub move_command_request: crate::openapi::models::MoveCommandRequest,
75}
76
77#[derive(Clone, Debug, Default)]
79pub struct RegenCommandTokenParams {
80 pub command_id: String,
82}
83
84#[derive(Clone, Debug, Default)]
86pub struct UpdateCommandParams {
87 pub command_id: String,
89 pub command: crate::openapi::models::Command,
90}
91
92#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
94#[serde(untagged)]
95pub enum CreateCommandError {
96 Status400(crate::openapi::models::AppError),
97 Status401(crate::openapi::models::AppError),
98 Status403(crate::openapi::models::AppError),
99 Status501(crate::openapi::models::AppError),
100 UnknownValue(serde_json::Value),
101}
102
103#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
105#[serde(untagged)]
106pub enum DeleteCommandError {
107 Status400(crate::openapi::models::AppError),
108 Status401(crate::openapi::models::AppError),
109 Status403(crate::openapi::models::AppError),
110 Status404(crate::openapi::models::AppError),
111 UnknownValue(serde_json::Value),
112}
113
114#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
116#[serde(untagged)]
117pub enum ExecuteCommandError {
118 Status400(crate::openapi::models::AppError),
119 Status401(crate::openapi::models::AppError),
120 Status403(crate::openapi::models::AppError),
121 Status501(crate::openapi::models::AppError),
122 UnknownValue(serde_json::Value),
123}
124
125#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
127#[serde(untagged)]
128pub enum GetCommandByIdError {
129 Status400(crate::openapi::models::AppError),
130 Status401(crate::openapi::models::AppError),
131 Status404(crate::openapi::models::AppError),
132 UnknownValue(serde_json::Value),
133}
134
135#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
137#[serde(untagged)]
138pub enum ListAutocompleteCommandsError {
139 Status400(crate::openapi::models::AppError),
140 Status401(crate::openapi::models::AppError),
141 Status403(crate::openapi::models::AppError),
142 UnknownValue(serde_json::Value),
143}
144
145#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
147#[serde(untagged)]
148pub enum ListCommandAutocompleteSuggestionsError {
149 Status400(crate::openapi::models::AppError),
150 Status401(crate::openapi::models::AppError),
151 Status403(crate::openapi::models::AppError),
152 UnknownValue(serde_json::Value),
153}
154
155#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
157#[serde(untagged)]
158pub enum ListCommandsError {
159 Status400(crate::openapi::models::AppError),
160 Status401(crate::openapi::models::AppError),
161 Status403(crate::openapi::models::AppError),
162 Status501(crate::openapi::models::AppError),
163 UnknownValue(serde_json::Value),
164}
165
166#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
168#[serde(untagged)]
169pub enum MoveCommandError {
170 Status400(crate::openapi::models::AppError),
171 Status401(crate::openapi::models::AppError),
172 Status403(crate::openapi::models::AppError),
173 Status404(crate::openapi::models::AppError),
174 UnknownValue(serde_json::Value),
175}
176
177#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
179#[serde(untagged)]
180pub enum RegenCommandTokenError {
181 Status400(crate::openapi::models::AppError),
182 Status401(crate::openapi::models::AppError),
183 Status403(crate::openapi::models::AppError),
184 UnknownValue(serde_json::Value),
185}
186
187#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
189#[serde(untagged)]
190pub enum UpdateCommandError {
191 Status400(crate::openapi::models::AppError),
192 Status401(crate::openapi::models::AppError),
193 Status403(crate::openapi::models::AppError),
194 UnknownValue(serde_json::Value),
195}
196
197pub async fn create_command(
199 configuration: &configuration::Configuration,
200 params: CreateCommandParams,
201) -> Result<crate::openapi::models::Command, Error<CreateCommandError>> {
202 let local_var_configuration = configuration;
203
204 let create_command_request = params.create_command_request;
206
207 let local_var_client = &local_var_configuration.client;
208
209 let local_var_uri_str = format!("{}/api/v4/commands", local_var_configuration.base_path);
210 let mut local_var_req_builder =
211 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
212
213 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
214 local_var_req_builder =
215 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
216 }
217 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
218 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
219 };
220 local_var_req_builder = local_var_req_builder.json(&create_command_request);
221
222 let local_var_req = local_var_req_builder.build()?;
223 let local_var_resp = local_var_client.execute(local_var_req).await?;
224
225 let local_var_status = local_var_resp.status();
226 let local_var_content = local_var_resp.text().await?;
227
228 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
229 serde_json::from_str(&local_var_content).map_err(Error::from)
230 } else {
231 let local_var_entity: Option<CreateCommandError> =
232 serde_json::from_str(&local_var_content).ok();
233 let local_var_error = ResponseContent {
234 status: local_var_status,
235 content: local_var_content,
236 entity: local_var_entity,
237 };
238 Err(Error::ResponseError(local_var_error))
239 }
240}
241
242pub async fn delete_command(
244 configuration: &configuration::Configuration,
245 params: DeleteCommandParams,
246) -> Result<crate::openapi::models::StatusOk, Error<DeleteCommandError>> {
247 let local_var_configuration = configuration;
248
249 let command_id = params.command_id;
251
252 let local_var_client = &local_var_configuration.client;
253
254 let local_var_uri_str = format!(
255 "{}/api/v4/commands/{command_id}",
256 local_var_configuration.base_path,
257 command_id = super::urlencode(command_id)
258 );
259 let mut local_var_req_builder =
260 local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
261
262 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
263 local_var_req_builder =
264 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
265 }
266 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
267 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
268 };
269
270 let local_var_req = local_var_req_builder.build()?;
271 let local_var_resp = local_var_client.execute(local_var_req).await?;
272
273 let local_var_status = local_var_resp.status();
274 let local_var_content = local_var_resp.text().await?;
275
276 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
277 serde_json::from_str(&local_var_content).map_err(Error::from)
278 } else {
279 let local_var_entity: Option<DeleteCommandError> =
280 serde_json::from_str(&local_var_content).ok();
281 let local_var_error = ResponseContent {
282 status: local_var_status,
283 content: local_var_content,
284 entity: local_var_entity,
285 };
286 Err(Error::ResponseError(local_var_error))
287 }
288}
289
290pub async fn execute_command(
292 configuration: &configuration::Configuration,
293 params: ExecuteCommandParams,
294) -> Result<crate::openapi::models::CommandResponse, Error<ExecuteCommandError>> {
295 let local_var_configuration = configuration;
296
297 let execute_command_request = params.execute_command_request;
299
300 let local_var_client = &local_var_configuration.client;
301
302 let local_var_uri_str = format!(
303 "{}/api/v4/commands/execute",
304 local_var_configuration.base_path
305 );
306 let mut local_var_req_builder =
307 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
308
309 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
310 local_var_req_builder =
311 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
312 }
313 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
314 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
315 };
316 local_var_req_builder = local_var_req_builder.json(&execute_command_request);
317
318 let local_var_req = local_var_req_builder.build()?;
319 let local_var_resp = local_var_client.execute(local_var_req).await?;
320
321 let local_var_status = local_var_resp.status();
322 let local_var_content = local_var_resp.text().await?;
323
324 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
325 serde_json::from_str(&local_var_content).map_err(Error::from)
326 } else {
327 let local_var_entity: Option<ExecuteCommandError> =
328 serde_json::from_str(&local_var_content).ok();
329 let local_var_error = ResponseContent {
330 status: local_var_status,
331 content: local_var_content,
332 entity: local_var_entity,
333 };
334 Err(Error::ResponseError(local_var_error))
335 }
336}
337
338pub async fn get_command_by_id(
340 configuration: &configuration::Configuration,
341 params: GetCommandByIdParams,
342) -> Result<crate::openapi::models::Command, Error<GetCommandByIdError>> {
343 let local_var_configuration = configuration;
344
345 let command_id = params.command_id;
347
348 let local_var_client = &local_var_configuration.client;
349
350 let local_var_uri_str = format!(
351 "{}/api/v4/commands/{command_id}",
352 local_var_configuration.base_path,
353 command_id = super::urlencode(command_id)
354 );
355 let mut local_var_req_builder =
356 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
357
358 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
359 local_var_req_builder =
360 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
361 }
362 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
363 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
364 };
365
366 let local_var_req = local_var_req_builder.build()?;
367 let local_var_resp = local_var_client.execute(local_var_req).await?;
368
369 let local_var_status = local_var_resp.status();
370 let local_var_content = local_var_resp.text().await?;
371
372 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
373 serde_json::from_str(&local_var_content).map_err(Error::from)
374 } else {
375 let local_var_entity: Option<GetCommandByIdError> =
376 serde_json::from_str(&local_var_content).ok();
377 let local_var_error = ResponseContent {
378 status: local_var_status,
379 content: local_var_content,
380 entity: local_var_entity,
381 };
382 Err(Error::ResponseError(local_var_error))
383 }
384}
385
386pub async fn list_autocomplete_commands(
388 configuration: &configuration::Configuration,
389 params: ListAutocompleteCommandsParams,
390) -> Result<Vec<crate::openapi::models::Command>, Error<ListAutocompleteCommandsError>> {
391 let local_var_configuration = configuration;
392
393 let team_id = params.team_id;
395
396 let local_var_client = &local_var_configuration.client;
397
398 let local_var_uri_str = format!(
399 "{}/api/v4/teams/{team_id}/commands/autocomplete",
400 local_var_configuration.base_path,
401 team_id = super::urlencode(team_id)
402 );
403 let mut local_var_req_builder =
404 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
405
406 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
407 local_var_req_builder =
408 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
409 }
410 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
411 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
412 };
413
414 let local_var_req = local_var_req_builder.build()?;
415 let local_var_resp = local_var_client.execute(local_var_req).await?;
416
417 let local_var_status = local_var_resp.status();
418 let local_var_content = local_var_resp.text().await?;
419
420 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
421 serde_json::from_str(&local_var_content).map_err(Error::from)
422 } else {
423 let local_var_entity: Option<ListAutocompleteCommandsError> =
424 serde_json::from_str(&local_var_content).ok();
425 let local_var_error = ResponseContent {
426 status: local_var_status,
427 content: local_var_content,
428 entity: local_var_entity,
429 };
430 Err(Error::ResponseError(local_var_error))
431 }
432}
433
434pub async fn list_command_autocomplete_suggestions(
436 configuration: &configuration::Configuration,
437 params: ListCommandAutocompleteSuggestionsParams,
438) -> Result<
439 Vec<crate::openapi::models::AutocompleteSuggestion>,
440 Error<ListCommandAutocompleteSuggestionsError>,
441> {
442 let local_var_configuration = configuration;
443
444 let team_id = params.team_id;
446 let user_input = params.user_input;
447
448 let local_var_client = &local_var_configuration.client;
449
450 let local_var_uri_str = format!(
451 "{}/teams/{team_id}/commands/autocomplete_suggestions",
452 local_var_configuration.base_path,
453 team_id = super::urlencode(team_id)
454 );
455 let mut local_var_req_builder =
456 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
457
458 local_var_req_builder = local_var_req_builder.query(&[("user_input", &user_input.to_string())]);
459 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
460 local_var_req_builder =
461 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
462 }
463 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
464 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
465 };
466
467 let local_var_req = local_var_req_builder.build()?;
468 let local_var_resp = local_var_client.execute(local_var_req).await?;
469
470 let local_var_status = local_var_resp.status();
471 let local_var_content = local_var_resp.text().await?;
472
473 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
474 serde_json::from_str(&local_var_content).map_err(Error::from)
475 } else {
476 let local_var_entity: Option<ListCommandAutocompleteSuggestionsError> =
477 serde_json::from_str(&local_var_content).ok();
478 let local_var_error = ResponseContent {
479 status: local_var_status,
480 content: local_var_content,
481 entity: local_var_entity,
482 };
483 Err(Error::ResponseError(local_var_error))
484 }
485}
486
487pub async fn list_commands(
489 configuration: &configuration::Configuration,
490 params: ListCommandsParams,
491) -> Result<Vec<crate::openapi::models::Command>, Error<ListCommandsError>> {
492 let local_var_configuration = configuration;
493
494 let team_id = params.team_id;
496 let custom_only = params.custom_only;
497
498 let local_var_client = &local_var_configuration.client;
499
500 let local_var_uri_str = format!("{}/api/v4/commands", local_var_configuration.base_path);
501 let mut local_var_req_builder =
502 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
503
504 if let Some(ref local_var_str) = team_id {
505 local_var_req_builder =
506 local_var_req_builder.query(&[("team_id", &local_var_str.to_string())]);
507 }
508 if let Some(ref local_var_str) = custom_only {
509 local_var_req_builder =
510 local_var_req_builder.query(&[("custom_only", &local_var_str.to_string())]);
511 }
512 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
513 local_var_req_builder =
514 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
515 }
516 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
517 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
518 };
519
520 let local_var_req = local_var_req_builder.build()?;
521 let local_var_resp = local_var_client.execute(local_var_req).await?;
522
523 let local_var_status = local_var_resp.status();
524 let local_var_content = local_var_resp.text().await?;
525
526 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
527 serde_json::from_str(&local_var_content).map_err(Error::from)
528 } else {
529 let local_var_entity: Option<ListCommandsError> =
530 serde_json::from_str(&local_var_content).ok();
531 let local_var_error = ResponseContent {
532 status: local_var_status,
533 content: local_var_content,
534 entity: local_var_entity,
535 };
536 Err(Error::ResponseError(local_var_error))
537 }
538}
539
540pub async fn move_command(
542 configuration: &configuration::Configuration,
543 params: MoveCommandParams,
544) -> Result<crate::openapi::models::StatusOk, Error<MoveCommandError>> {
545 let local_var_configuration = configuration;
546
547 let command_id = params.command_id;
549 let move_command_request = params.move_command_request;
550
551 let local_var_client = &local_var_configuration.client;
552
553 let local_var_uri_str = format!(
554 "{}/api/v4/commands/{command_id}/move",
555 local_var_configuration.base_path,
556 command_id = super::urlencode(command_id)
557 );
558 let mut local_var_req_builder =
559 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
560
561 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
562 local_var_req_builder =
563 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
564 }
565 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
566 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
567 };
568 local_var_req_builder = local_var_req_builder.json(&move_command_request);
569
570 let local_var_req = local_var_req_builder.build()?;
571 let local_var_resp = local_var_client.execute(local_var_req).await?;
572
573 let local_var_status = local_var_resp.status();
574 let local_var_content = local_var_resp.text().await?;
575
576 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
577 serde_json::from_str(&local_var_content).map_err(Error::from)
578 } else {
579 let local_var_entity: Option<MoveCommandError> =
580 serde_json::from_str(&local_var_content).ok();
581 let local_var_error = ResponseContent {
582 status: local_var_status,
583 content: local_var_content,
584 entity: local_var_entity,
585 };
586 Err(Error::ResponseError(local_var_error))
587 }
588}
589
590pub async fn regen_command_token(
592 configuration: &configuration::Configuration,
593 params: RegenCommandTokenParams,
594) -> Result<crate::openapi::models::RegenCommandToken200Response, Error<RegenCommandTokenError>> {
595 let local_var_configuration = configuration;
596
597 let command_id = params.command_id;
599
600 let local_var_client = &local_var_configuration.client;
601
602 let local_var_uri_str = format!(
603 "{}/api/v4/commands/{command_id}/regen_token",
604 local_var_configuration.base_path,
605 command_id = super::urlencode(command_id)
606 );
607 let mut local_var_req_builder =
608 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
609
610 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
611 local_var_req_builder =
612 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
613 }
614 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
615 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
616 };
617
618 let local_var_req = local_var_req_builder.build()?;
619 let local_var_resp = local_var_client.execute(local_var_req).await?;
620
621 let local_var_status = local_var_resp.status();
622 let local_var_content = local_var_resp.text().await?;
623
624 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
625 serde_json::from_str(&local_var_content).map_err(Error::from)
626 } else {
627 let local_var_entity: Option<RegenCommandTokenError> =
628 serde_json::from_str(&local_var_content).ok();
629 let local_var_error = ResponseContent {
630 status: local_var_status,
631 content: local_var_content,
632 entity: local_var_entity,
633 };
634 Err(Error::ResponseError(local_var_error))
635 }
636}
637
638pub async fn update_command(
640 configuration: &configuration::Configuration,
641 params: UpdateCommandParams,
642) -> Result<crate::openapi::models::Command, Error<UpdateCommandError>> {
643 let local_var_configuration = configuration;
644
645 let command_id = params.command_id;
647 let command = params.command;
648
649 let local_var_client = &local_var_configuration.client;
650
651 let local_var_uri_str = format!(
652 "{}/api/v4/commands/{command_id}",
653 local_var_configuration.base_path,
654 command_id = super::urlencode(command_id)
655 );
656 let mut local_var_req_builder =
657 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
658
659 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
660 local_var_req_builder =
661 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
662 }
663 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
664 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
665 };
666 local_var_req_builder = local_var_req_builder.json(&command);
667
668 let local_var_req = local_var_req_builder.build()?;
669 let local_var_resp = local_var_client.execute(local_var_req).await?;
670
671 let local_var_status = local_var_resp.status();
672 let local_var_content = local_var_resp.text().await?;
673
674 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
675 serde_json::from_str(&local_var_content).map_err(Error::from)
676 } else {
677 let local_var_entity: Option<UpdateCommandError> =
678 serde_json::from_str(&local_var_content).ok();
679 let local_var_error = ResponseContent {
680 status: local_var_status,
681 content: local_var_content,
682 entity: local_var_entity,
683 };
684 Err(Error::ResponseError(local_var_error))
685 }
686}