refactor(quark): port ban_create, ban_list, ban_remove, emoji_list, invites_fetch

#283
This commit is contained in:
Paul Makles
2024-04-07 20:48:36 +01:00
parent b2d3344ddd
commit 03340a2b5a
11 changed files with 250 additions and 189 deletions

View File

@@ -7,7 +7,9 @@ use schemars::{
JsonSchema,
};
use crate::{Bot, Channel, Database, Emoji, Invite, Message, Server, User, Webhook};
use crate::{
Bot, Channel, Database, Emoji, Invite, Member, Message, Server, ServerBan, User, Webhook,
};
/// Reference to some object in the database
#[derive(Serialize, Deserialize)]
@@ -22,6 +24,11 @@ impl Reference {
Reference { id }
}
/// Fetch ban from Ref
pub async fn as_ban(&self, db: &Database, server: &str) -> Result<ServerBan> {
db.fetch_ban(server, &self.id).await
}
/// Fetch bot from Ref
pub async fn as_bot(&self, db: &Database) -> Result<Bot> {
db.fetch_bot(&self.id).await
@@ -57,6 +64,11 @@ impl Reference {
Ok(msg)
}
/// Fetch member from Ref
pub async fn as_member(&self, db: &Database, server: &str) -> Result<Member> {
db.fetch_member(server, &self.id).await
}
/// Fetch server from Ref
pub async fn as_server(&self, db: &Database) -> Result<Server> {
db.fetch_server(&self.id).await