Skip to main content

revolt_database/models/account_invites/ops/
reference.rs

1use crate::{AbstractAccountInvites, AccountInvite, ReferenceDb};
2use revolt_result::Result;
3
4#[async_trait]
5impl AbstractAccountInvites for ReferenceDb {
6    /// Find invite by id
7    async fn fetch_account_invite(&self, id: &str) -> Result<AccountInvite> {
8        let invites = self.account_invites.lock().await;
9        invites
10            .get(id)
11            .cloned()
12            .ok_or_else(|| create_error!(InvalidInvite))
13    }
14
15    /// Save invite
16    async fn save_account_invite(&self, invite: &AccountInvite) -> Result<()> {
17        let mut invites = self.account_invites.lock().await;
18        invites.insert(invite.id.to_string(), invite.clone());
19        Ok(())
20    }
21}