From eebd4db4d4b129a0ea471911f32d9f11b09da9e0 Mon Sep 17 00:00:00 2001 From: phoenix Date: Mon, 1 Jun 2026 21:36:47 -0400 Subject: [PATCH 1/4] Skipping serialization of fields in Contact --- src/contact/mod.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/contact/mod.rs b/src/contact/mod.rs index 973a2d7..33a6f2b 100644 --- a/src/contact/mod.rs +++ b/src/contact/mod.rs @@ -2,14 +2,19 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Contact { + #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: uuid::Uuid, // empty? + #[serde(skip_serializing_if = "String::is_empty")] pub firstname: String, // empty? + #[serde(skip_serializing_if = "String::is_empty")] pub lastname: String, // empty? + #[serde(skip_serializing_if = "String::is_empty")] pub nickname: String, pub phone_number: String, // empty + #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub user_id: uuid::Uuid, } -- 2.47.3 From 8f7dd8d65e2d984622ad0a9da44ff6e88c005e94 Mon Sep 17 00:00:00 2001 From: phoenix Date: Mon, 1 Jun 2026 21:50:38 -0400 Subject: [PATCH 2/4] Changes to accomodate Contact --- src/contact/mod.rs | 4 ++-- src/lib.rs | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/contact/mod.rs b/src/contact/mod.rs index 33a6f2b..e69ec58 100644 --- a/src/contact/mod.rs +++ b/src/contact/mod.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Contact { #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] - pub id: uuid::Uuid, + pub id: Option, // empty? #[serde(skip_serializing_if = "String::is_empty")] pub firstname: String, @@ -16,5 +16,5 @@ pub struct Contact { pub phone_number: String, // empty #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] - pub user_id: uuid::Uuid, + pub user_id: Option, } diff --git a/src/lib.rs b/src/lib.rs index bed7751..8d0b5f9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,7 +6,14 @@ pub mod token; pub mod user; pub mod init { - pub fn is_uuid_nil(uuid: &uuid::Uuid) -> bool { - uuid.is_nil() + pub fn is_uuid_nil(uuid: &Option) -> bool { + match uuid { + Some(id) => { + id.is_nil() + } + None => { + true + } + } } } -- 2.47.3 From 45c90164536cc37d81549725895819322bc9ee2b Mon Sep 17 00:00:00 2001 From: phoenix Date: Mon, 1 Jun 2026 21:50:50 -0400 Subject: [PATCH 3/4] Commenting this out for now --- src/user/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/mod.rs b/src/user/mod.rs index 2a891fc..e2d4f66 100644 --- a/src/user/mod.rs +++ b/src/user/mod.rs @@ -71,7 +71,7 @@ pub struct UserProfile { #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Salt { - #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] + // #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: uuid::Uuid, #[serde(skip_serializing_if = "String::is_empty")] pub salt: String, -- 2.47.3 From 15820d550526aea3016821c01f508d8d590292cc Mon Sep 17 00:00:00 2001 From: phoenix Date: Mon, 1 Jun 2026 21:55:34 -0400 Subject: [PATCH 4/4] Fixing issue with Contact fields --- src/contact/mod.rs | 12 ++++++------ src/lib.rs | 8 ++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/contact/mod.rs b/src/contact/mod.rs index e69ec58..9eba279 100644 --- a/src/contact/mod.rs +++ b/src/contact/mod.rs @@ -5,14 +5,14 @@ pub struct Contact { #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: Option, // empty? - #[serde(skip_serializing_if = "String::is_empty")] - pub firstname: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub firstname: Option, // empty? - #[serde(skip_serializing_if = "String::is_empty")] - pub lastname: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub lastname: Option, // empty? - #[serde(skip_serializing_if = "String::is_empty")] - pub nickname: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub nickname: Option, pub phone_number: String, // empty #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] diff --git a/src/lib.rs b/src/lib.rs index 8d0b5f9..6dd050f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,12 +8,8 @@ pub mod user; pub mod init { pub fn is_uuid_nil(uuid: &Option) -> bool { match uuid { - Some(id) => { - id.is_nil() - } - None => { - true - } + Some(id) => id.is_nil(), + None => true, } } } -- 2.47.3