diff options
Diffstat (limited to 'filamento/src/chat.rs')
-rw-r--r-- | filamento/src/chat.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/filamento/src/chat.rs b/filamento/src/chat.rs index bb0793f..5f58866 100644 --- a/filamento/src/chat.rs +++ b/filamento/src/chat.rs @@ -1,3 +1,5 @@ +use std::fmt::{Display, Write}; + use chrono::{DateTime, Utc}; use jid::JID; use rusqlite::{ @@ -34,6 +36,20 @@ pub enum Delivery { Queued, } +impl Display for Delivery { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Delivery::Sending => f.write_str("sending"), + Delivery::Written => f.write_str("written"), + Delivery::Sent => f.write_str("sent"), + Delivery::Delivered => f.write_str("delivered"), + Delivery::Read => f.write_str("read"), + Delivery::Failed => f.write_str("failed"), + Delivery::Queued => f.write_str("queued"), + } + } +} + impl ToSql for Delivery { fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> { Ok(match self { |