Skip to main content

revolt_database/models/mfa_tickets/
ops.rs

1use revolt_result::Result;
2
3use crate::MFATicket;
4
5#[cfg(feature = "mongodb")]
6mod mongodb;
7mod reference;
8
9#[async_trait]
10pub trait AbstractMFATickets: Sync + Send {
11    /// Find ticket by token
12    async fn fetch_ticket_by_token(&self, token: &str) -> Result<MFATicket>;
13
14    /// Save ticket
15    async fn save_ticket(&self, ticket: &MFATicket) -> Result<()>;
16
17    /// Delete ticket
18    async fn delete_ticket(&self, id: &str) -> Result<()>;
19
20    /// Delete all expired tickets
21    async fn delete_expired_tickets(&self) -> Result<usize>;
22}