aboutsummaryrefslogtreecommitdiffstats
path: root/filamento/src/presence.rs
diff options
context:
space:
mode:
Diffstat (limited to 'filamento/src/presence.rs')
-rw-r--r--filamento/src/presence.rs41
1 files changed, 1 insertions, 40 deletions
diff --git a/filamento/src/presence.rs b/filamento/src/presence.rs
index a7a8965..e406cce 100644
--- a/filamento/src/presence.rs
+++ b/filamento/src/presence.rs
@@ -1,15 +1,12 @@
use chrono::{DateTime, Utc};
-use sqlx::Sqlite;
use stanza::{client::presence::String1024, xep_0203::Delay};
use crate::caps;
-#[derive(Debug, Default, sqlx::FromRow, Clone)]
+#[derive(Debug, Default, Clone)]
pub struct Online {
pub show: Option<Show>,
- #[sqlx(rename = "message")]
pub status: Option<String>,
- #[sqlx(skip)]
pub priority: Option<i8>,
}
@@ -21,42 +18,6 @@ pub enum Show {
ExtendedAway,
}
-impl sqlx::Type<Sqlite> for Show {
- fn type_info() -> <Sqlite as sqlx::Database>::TypeInfo {
- <&str as sqlx::Type<Sqlite>>::type_info()
- }
-}
-
-impl sqlx::Decode<'_, Sqlite> for Show {
- fn decode(
- value: <Sqlite as sqlx::Database>::ValueRef<'_>,
- ) -> Result<Self, sqlx::error::BoxDynError> {
- let value = <&str as sqlx::Decode<Sqlite>>::decode(value)?;
- match value {
- "away" => Ok(Self::Away),
- "chat" => Ok(Self::Chat),
- "do-not-disturb" => Ok(Self::DoNotDisturb),
- "extended-away" => Ok(Self::ExtendedAway),
- _ => unreachable!(),
- }
- }
-}
-
-impl sqlx::Encode<'_, Sqlite> for Show {
- fn encode_by_ref(
- &self,
- buf: &mut <Sqlite as sqlx::Database>::ArgumentBuffer<'_>,
- ) -> Result<sqlx::encode::IsNull, sqlx::error::BoxDynError> {
- let value = match self {
- Show::Away => "away",
- Show::Chat => "chat",
- Show::DoNotDisturb => "do-not-disturb",
- Show::ExtendedAway => "extended-away",
- };
- <&str as sqlx::Encode<Sqlite>>::encode(value, buf)
- }
-}
-
#[derive(Debug, Default, Clone)]
pub struct Offline {
pub status: Option<String>,