slack_morphism/models/common/
team.rs1use crate::*;
2
3use rsb_derive::Builder;
4use rvstruct::*;
5use serde::{Deserialize, Serialize};
6use serde_with::skip_serializing_none;
7
8#[skip_serializing_none]
9#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
10pub struct SlackTeamInfo {
11 pub id: SlackTeamId,
12 pub name: Option<String>,
13 pub domain: Option<String>,
14 pub email_domain: Option<String>,
15 pub icon: Option<SlackIcon>,
16}
17
18#[skip_serializing_none]
19#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
20pub struct SlackBasicTeamInfo {
21 pub id: SlackTeamId,
22 pub name: Option<String>,
23 pub domain: Option<String>,
24}
25
26#[skip_serializing_none]
27#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
28pub struct SlackTeamProfile {
29 pub fields: Vec<SlackTeamProfileField>,
30}
31
32#[derive(Debug, Eq, PartialEq, Hash, Clone, Serialize, Deserialize, ValueStruct)]
33pub struct SlackTeamProfileFieldId(pub String);
34
35#[skip_serializing_none]
36#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
37pub struct SlackTeamProfileField {
38 id: SlackTeamProfileFieldId,
39 ordering: i64,
40 label: String,
41 hint: Option<String>,
42 #[serde(rename = "type")]
43 field_type: Option<String>,
44 possible_values: Option<Vec<String>>,
45 options: Option<serde_json::Value>,
46}