io_msgraph/v1/rest/users/
contacts.rs1use alloc::{string::String, vec::Vec};
7
8use serde::{Deserialize, Serialize};
9
10use crate::v1::{field::MsgraphField, rest::users::messages::MsgraphEmailAddress};
11
12pub mod create;
13pub mod delete;
14pub mod delta;
15pub mod get;
16pub mod list;
17pub mod update;
18#[cfg(feature = "vcard")]
19pub mod vcard;
20
21#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
27#[serde(rename_all = "camelCase")]
28pub struct MsgraphContact {
29 #[serde(default, skip_serializing_if = "String::is_empty")]
31 pub id: String,
32 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
34 pub display_name: MsgraphField<String>,
35 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
37 pub given_name: MsgraphField<String>,
38 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
40 pub middle_name: MsgraphField<String>,
41 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
43 pub surname: MsgraphField<String>,
44 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
46 pub nick_name: MsgraphField<String>,
47 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
49 pub title: MsgraphField<String>,
50 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
52 pub file_as: MsgraphField<String>,
53 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
55 pub email_addresses: MsgraphField<Vec<MsgraphEmailAddress>>,
56 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
58 pub im_addresses: MsgraphField<Vec<String>>,
59 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
61 pub business_phones: MsgraphField<Vec<String>>,
62 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
64 pub home_phones: MsgraphField<Vec<String>>,
65 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
67 pub mobile_phone: MsgraphField<String>,
68 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
70 pub home_address: MsgraphField<MsgraphPhysicalAddress>,
71 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
73 pub business_address: MsgraphField<MsgraphPhysicalAddress>,
74 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
76 pub other_address: MsgraphField<MsgraphPhysicalAddress>,
77 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
79 pub job_title: MsgraphField<String>,
80 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
82 pub company_name: MsgraphField<String>,
83 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
85 pub department: MsgraphField<String>,
86 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
88 pub office_location: MsgraphField<String>,
89 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
91 pub profession: MsgraphField<String>,
92 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
94 pub assistant_name: MsgraphField<String>,
95 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
97 pub manager: MsgraphField<String>,
98 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
100 pub business_home_page: MsgraphField<String>,
101 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
103 pub birthday: MsgraphField<String>,
104 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
106 pub spouse_name: MsgraphField<String>,
107 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
109 pub children: MsgraphField<Vec<String>>,
110 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
112 pub personal_notes: MsgraphField<String>,
113 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
115 pub categories: MsgraphField<Vec<String>>,
116 #[serde(default, skip_serializing_if = "Option::is_none")]
118 pub parent_folder_id: Option<String>,
119 #[serde(default, skip_serializing_if = "Option::is_none")]
121 pub created_date_time: Option<String>,
122 #[serde(default, skip_serializing_if = "Option::is_none")]
124 pub last_modified_date_time: Option<String>,
125 #[serde(default, skip_serializing_if = "Option::is_none")]
127 pub change_key: Option<String>,
128 #[serde(default, skip_serializing_if = "MsgraphField::is_unset")]
133 pub single_value_extended_properties: MsgraphField<Vec<MsgraphSingleValueExtendedProperty>>,
134}
135
136#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
141#[serde(rename_all = "camelCase")]
142pub struct MsgraphPhysicalAddress {
143 #[serde(default, skip_serializing_if = "Option::is_none")]
145 pub street: Option<String>,
146 #[serde(default, skip_serializing_if = "Option::is_none")]
148 pub city: Option<String>,
149 #[serde(default, skip_serializing_if = "Option::is_none")]
151 pub state: Option<String>,
152 #[serde(default, skip_serializing_if = "Option::is_none")]
154 pub country_or_region: Option<String>,
155 #[serde(default, skip_serializing_if = "Option::is_none")]
157 pub postal_code: Option<String>,
158}
159
160#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
165#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
166#[serde(rename_all = "camelCase")]
167pub struct MsgraphSingleValueExtendedProperty {
168 #[serde(default)]
170 pub id: String,
171 #[serde(default)]
173 pub value: String,
174}