pub struct Contact {Show 20 fields
pub id: ContactId,
pub grant_id: GrantId,
pub given_name: Option<String>,
pub middle_name: Option<String>,
pub family_name: Option<String>,
pub suffix: Option<String>,
pub nickname: Option<String>,
pub birthday: Option<String>,
pub company_name: Option<String>,
pub job_title: Option<String>,
pub manager_name: Option<String>,
pub office_location: Option<String>,
pub notes: Option<String>,
pub picture_url: Option<String>,
pub picture: Option<String>,
pub emails: Vec<ContactEmail>,
pub phone_numbers: Vec<ContactPhone>,
pub physical_addresses: Vec<ContactAddress>,
pub web_pages: Vec<ContactWebPage>,
pub groups: Vec<ContactGroup>,
}Expand description
A contact entry.
Represents a person or organization with contact information.
§Example
let contact = Contact {
id: ContactId::new("contact_123"),
grant_id: GrantId::new("grant_456"),
given_name: Some("John".to_string()),
family_name: Some("Doe".to_string()),
emails: vec![],
phone_numbers: vec![],
physical_addresses: vec![],
web_pages: vec![],
groups: vec![],
middle_name: None,
suffix: None,
nickname: None,
birthday: None,
company_name: None,
job_title: None,
manager_name: None,
office_location: None,
notes: None,
picture_url: None,
picture: None,
};Fields§
§id: ContactIdUnique identifier for the contact.
grant_id: GrantIdGrant ID this contact belongs to.
given_name: Option<String>Contact’s given name (first name).
middle_name: Option<String>Contact’s middle name.
family_name: Option<String>Contact’s family name (last name).
suffix: Option<String>Name suffix (e.g., “Jr.”, “Sr.”, “III”).
nickname: Option<String>Contact’s nickname.
birthday: Option<String>Birthday in YYYY-MM-DD format.
company_name: Option<String>Company name.
job_title: Option<String>Job title.
manager_name: Option<String>Manager’s name.
office_location: Option<String>Office location.
notes: Option<String>Notes about the contact.
picture_url: Option<String>URL to contact’s picture.
picture: Option<String>Base64-encoded contact picture.
emails: Vec<ContactEmail>List of email addresses.
phone_numbers: Vec<ContactPhone>List of phone numbers.
physical_addresses: Vec<ContactAddress>List of physical addresses.
web_pages: Vec<ContactWebPage>List of web pages.
groups: Vec<ContactGroup>List of groups this contact belongs to.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Contact
impl<'de> Deserialize<'de> for Contact
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Contact
impl StructuralPartialEq for Contact
Auto Trait Implementations§
impl Freeze for Contact
impl RefUnwindSafe for Contact
impl Send for Contact
impl Sync for Contact
impl Unpin for Contact
impl UnsafeUnpin for Contact
impl UnwindSafe for Contact
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more