From 26d0ee51e232b793bc83ba565c0e9ab820d8d0db Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 17 Apr 2025 11:24:43 +0100 Subject: feat(filamento): remove sqlx --- filamento/src/chat.rs | 51 +++------------------------------------------------ 1 file changed, 3 insertions(+), 48 deletions(-) (limited to 'filamento/src/chat.rs') diff --git a/filamento/src/chat.rs b/filamento/src/chat.rs index 147c7f7..557b42b 100644 --- a/filamento/src/chat.rs +++ b/filamento/src/chat.rs @@ -1,13 +1,11 @@ use chrono::{DateTime, Utc}; use jid::JID; -use sqlx::Sqlite; use uuid::Uuid; -#[derive(Debug, sqlx::FromRow, Clone)] +#[derive(Debug, Clone)] pub struct Message { pub id: Uuid, // does not contain full user information - #[sqlx(rename = "from_jid")] // bare jid (for now) pub from: JID, pub delivery: Option, @@ -15,7 +13,6 @@ pub struct Message { // TODO: originally_from // TODO: message edits // TODO: message timestamp - #[sqlx(flatten)] pub body: Body, } @@ -30,61 +27,19 @@ pub enum Delivery { Queued, } -impl sqlx::Type for Delivery { - fn type_info() -> ::TypeInfo { - <&str as sqlx::Type>::type_info() - } -} - -impl sqlx::Decode<'_, Sqlite> for Delivery { - fn decode( - value: ::ValueRef<'_>, - ) -> Result { - let value = <&str as sqlx::Decode>::decode(value)?; - match value { - "sending" => Ok(Self::Sending), - "written" => Ok(Self::Written), - "sent" => Ok(Self::Sent), - "delivered" => Ok(Self::Delivered), - "read" => Ok(Self::Read), - "failed" => Ok(Self::Failed), - "queued" => Ok(Self::Queued), - _ => unreachable!(), - } - } -} - -impl sqlx::Encode<'_, Sqlite> for Delivery { - fn encode_by_ref( - &self, - buf: &mut ::ArgumentBuffer<'_>, - ) -> Result { - let value = match self { - Delivery::Sending => "sending", - Delivery::Written => "written", - Delivery::Sent => "sent", - Delivery::Delivered => "delivered", - Delivery::Read => "read", - Delivery::Failed => "failed", - Delivery::Queued => "queued", - }; - <&str as sqlx::Encode>::encode(value, buf) - } -} - // TODO: user migrations // pub enum Migrated { // Jabber(User), // Outside, // } -#[derive(Debug, sqlx::FromRow, Clone)] +#[derive(Debug, Clone)] pub struct Body { // TODO: rich text, other contents, threads pub body: String, } -#[derive(sqlx::FromRow, Debug, Clone)] +#[derive(Debug, Clone)] pub struct Chat { pub correspondent: JID, pub have_chatted: bool, -- cgit