From e5ab4aa426adf23ab4bd961ebf85d87d565c40af Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 18 Jun 2026 14:26:37 -0400 Subject: [PATCH] Adding sqlx::FromRow trait --- src/contact/mod.rs | 4 +++- src/message/event/mod.rs | 4 +++- src/message/mod.rs | 4 +++- src/message/scheduling/mod.rs | 8 ++++++-- src/user/mod.rs | 26 +++++++++++++++++++------- 5 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/contact/mod.rs b/src/contact/mod.rs index 88898c2..3a84dba 100644 --- a/src/contact/mod.rs +++ b/src/contact/mod.rs @@ -1,4 +1,6 @@ -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct Contact { #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: Option, diff --git a/src/message/event/mod.rs b/src/message/event/mod.rs index f81fb06..c4503ce 100644 --- a/src/message/event/mod.rs +++ b/src/message/event/mod.rs @@ -1,7 +1,9 @@ pub const MESSAGE_EVENT_RESPONSE_STATUS_INSTANT: &str = "INSTANT"; pub const MESSAGE_EVENT_RESPONSE_STATUS_SCHEDULED: &str = "SCHEDULED"; -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct MessageEventResponse { pub id: uuid::Uuid, pub scheduled_message_event_id: uuid::Uuid, diff --git a/src/message/mod.rs b/src/message/mod.rs index 396dc72..9431e53 100644 --- a/src/message/mod.rs +++ b/src/message/mod.rs @@ -1,7 +1,9 @@ pub mod event; pub mod scheduling; -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct Message { #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: Option, diff --git a/src/message/scheduling/mod.rs b/src/message/scheduling/mod.rs index 9930dec..c3035ba 100644 --- a/src/message/scheduling/mod.rs +++ b/src/message/scheduling/mod.rs @@ -1,4 +1,6 @@ -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct ScheduledMessageEvent { pub id: uuid::Uuid, pub contact_id: uuid::Uuid, @@ -8,7 +10,9 @@ pub struct ScheduledMessageEvent { pub created: Option, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct ScheduledMessage { pub id: uuid::Uuid, #[serde(with = "time::serde::rfc3339::option")] diff --git a/src/user/mod.rs b/src/user/mod.rs index a721fe2..e265c4b 100644 --- a/src/user/mod.rs +++ b/src/user/mod.rs @@ -1,4 +1,6 @@ -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct User { pub id: uuid::Uuid, pub phone_number: String, @@ -16,7 +18,9 @@ pub struct User { pub salt_id: uuid::Uuid, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct ServiceUser { pub id: uuid::Uuid, pub username: String, @@ -30,7 +34,9 @@ pub struct ServiceUser { pub salt_id: uuid::Uuid, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct Organization { pub id: uuid::Uuid, pub name: String, @@ -38,7 +44,9 @@ pub struct Organization { pub created: Option, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct UserLoginHistory { pub id: uuid::Uuid, #[serde(with = "time::serde::rfc3339::option")] @@ -46,7 +54,9 @@ pub struct UserLoginHistory { pub user_id: uuid::Uuid, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct ServiceUserLoginHistory { pub id: uuid::Uuid, #[serde(with = "time::serde::rfc3339::option")] @@ -54,7 +64,9 @@ pub struct ServiceUserLoginHistory { pub service_user_id: uuid::Uuid, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)] +#[derive( + Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema, +)] pub struct UserProfile { pub user_id: uuid::Uuid, pub phone_number: String, @@ -67,7 +79,7 @@ pub struct UserProfile { pub last_login: Option, } -#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize)] +#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow)] pub struct Salt { // #[serde(skip_serializing_if = "crate::init::is_uuid_nil")] pub id: uuid::Uuid,