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