summaryrefslogtreecommitdiff
path: root/excluded/model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'excluded/model.rs')
-rw-r--r--excluded/model.rs88
1 files changed, 0 insertions, 88 deletions
diff --git a/excluded/model.rs b/excluded/model.rs
deleted file mode 100644
index 39e4c96..0000000
--- a/excluded/model.rs
+++ /dev/null
@@ -1,88 +0,0 @@
-use chrono::NaiveDateTime;
-use crate::validation::{self, *};
-
-pub struct BCard {
- pub name: Option<Name>,
- pub nickname: Option<String>,
- pub label: Option<TypedProperty<String>>,
- pub address: Option<TypedProperty<Address>>,
- pub emails: Option<Vec<TypedProperty<String>>>,
- pub title: Option<String>,
- pub role: Option<String>,
- pub organization: Option<String>,
- pub urls: Option<Vec<TypedProperty<String>>>,
- pub telephones: Option<Vec<TypedProperty<String>>>,
- pub revision: Option<NaiveDateTime>,
-}
-
-impl BCard {
- pub fn new() -> Self {
- Self {
- name: None,
- nickname: None,
- label: None,
- address: None,
- emails: None,
- title: None,
- role: None,
- organization: None,
- urls: None,
- telephones: None,
- revision: None,
- }
- }
-}
-
-impl Validation for BCard {
- fn validate(&self) -> Result<(), ValidationError> {
- let mut result = Ok(());
- result = match &self.name {
- Some(n) => validation::add_results(result, n.validate()),
- None => Err( ValidationError{ messages: vec![String::from("Name cannot be empty")] } ),
- };
- // TODO add some more validation
- result
- }
-}
-
-pub struct Name {
- pub prefix: Option<String>,
- pub first_name: Option<String>,
- pub middle_name: Option<String>,
- pub family_name: Option<String>,
- pub suffix: Option<String>,
-}
-
-impl Name {
- pub fn new() -> Self {
- Self {
- prefix: None,
- first_name: None,
- middle_name: None,
- family_name: None,
- suffix: None,
- }
- }
-}
-
-impl Validation for Name {
- fn validate(&self) -> std::result::Result<(), ValidationError> { todo!() }
-}
-
-pub enum WorkHomeType {
- Home,
- Work,
-}
-
-pub struct TypedProperty<T> {
- pub p_type: Option<WorkHomeType>,
- pub value: T,
-}
-
-pub struct Address {
- pub street: Option<String>,
- pub city: Option<String>,
- pub locality: Option<String>,
- pub postal_code: Option<String>,
- pub country: Option<String>,
-} \ No newline at end of file