slack_rust/event_api/
app.rs

1use crate::team::teams::Team;
2use crate::users::user::User;
3
4use serde::{Deserialize, Serialize};
5use serde_with::skip_serializing_none;
6
7#[skip_serializing_none]
8#[derive(Deserialize, Serialize, Debug, PartialEq)]
9pub struct AppRequest {
10    pub id: Option<String>,
11    pub app: Option<App>,
12    pub previous_resolution: Option<PreviousResolution>,
13}
14
15#[skip_serializing_none]
16#[derive(Deserialize, Serialize, Debug, PartialEq)]
17pub struct App {
18    pub id: Option<String>,
19    pub name: Option<String>,
20    pub description: Option<String>,
21    pub help_url: Option<String>,
22    pub privacy_policy_url: Option<String>,
23    pub app_homepage_url: Option<String>,
24    pub app_directory_url: Option<String>,
25    pub is_app_directory_approved: Option<bool>,
26    pub is_internal: Option<bool>,
27    pub additional_info: Option<String>,
28    pub user: Option<User>,
29    pub team: Option<Team>,
30    pub scopes: Option<Vec<Scope>>,
31    pub message: Option<String>,
32}
33
34#[skip_serializing_none]
35#[derive(Deserialize, Serialize, Debug, PartialEq)]
36pub struct PreviousResolution {
37    pub status: Option<String>,
38    pub scopes: Option<Vec<Scope>>,
39}
40
41#[skip_serializing_none]
42#[derive(Deserialize, Serialize, Debug, PartialEq)]
43pub struct Scope {
44    pub name: Option<String>,
45    pub description: Option<String>,
46    pub is_sensitive: Option<bool>,
47    pub token_type: Option<String>,
48}