asana/model/
team_response.rs1use serde::{Serialize, Deserialize};
2use super::TeamBase;
3#[derive(Debug, Clone, Serialize, Deserialize, Default)]
4pub struct TeamResponse {
5 #[serde(flatten)]
6 pub team_base: TeamBase,
7 #[serde(skip_serializing_if = "Option::is_none")]
9 pub description: Option<String>,
10 #[serde(skip_serializing_if = "Option::is_none")]
12 pub edit_team_name_or_description_access_level: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
15 pub edit_team_visibility_or_trash_team_access_level: Option<String>,
16 #[serde(skip_serializing_if = "Option::is_none")]
18 pub guest_invite_management_access_level: Option<String>,
19 #[serde(skip_serializing_if = "Option::is_none")]
21 pub html_description: Option<String>,
22 #[serde(skip_serializing_if = "Option::is_none")]
24 pub join_request_management_access_level: Option<String>,
25 #[serde(skip_serializing_if = "Option::is_none")]
27 pub member_invite_management_access_level: Option<String>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub organization: Option<serde_json::Value>,
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub permalink_url: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub team_member_removal_access_level: Option<String>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub visibility: Option<String>,
39}
40impl std::fmt::Display for TeamResponse {
41 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
42 write!(f, "{}", serde_json::to_string(self).unwrap())
43 }
44}
45impl std::ops::Deref for TeamResponse {
46 type Target = TeamBase;
47 fn deref(&self) -> &Self::Target {
48 &self.team_base
49 }
50}
51impl std::ops::DerefMut for TeamResponse {
52 fn deref_mut(&mut self) -> &mut Self::Target {
53 &mut self.team_base
54 }
55}