use oparl_types::{DateTime, EmailAddress, Name};
use uuid::Uuid;
use crate::Membership;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Person {
pub id: Uuid,
pub created: DateTime,
pub modified: DateTime,
pub body: Uuid,
pub name: Name,
pub family_name: Option<Name>,
pub given_name: Option<Name>,
pub form_of_address: Option<String>,
pub affix: Option<String>,
pub title: Vec<String>,
pub gender: Option<String>,
pub phone: Vec<String>,
pub email: Vec<EmailAddress>,
pub membership: Vec<Membership>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct NewPerson {
pub body: String,
pub name: Name,
pub family_name: Option<Name>,
pub given_name: Option<Name>,
pub form_of_address: Option<String>,
pub affix: Option<String>,
pub title: Vec<String>,
pub gender: Option<String>,
pub phone: Vec<String>,
pub email: Vec<String>,
}