feat: member fetching with roles (#299)

This commit is contained in:
ToastXC
2024-02-06 21:20:35 +08:00
committed by GitHub
parent c451e431cd
commit 41ef76ff3e
9 changed files with 147 additions and 17 deletions

View File

@@ -5,9 +5,8 @@ use schemars::schema::{InstanceType, Schema, SchemaObject, SingleOrVec};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::models::{
Channel, Emoji, Invite, Member, Message, Report, Server, ServerBan, User,
};
use crate::models::server_member::MemberWithRoles;
use crate::models::{Channel, Emoji, Invite, Member, Message, Report, Server, ServerBan, User};
use crate::{Database, Error, Result};
/// Reference to some object in the database
@@ -66,6 +65,14 @@ impl Ref {
db.fetch_member(server, &self.id).await
}
pub async fn as_member_with_roles(
&self,
db: &Database,
server: &str,
) -> Result<MemberWithRoles> {
db.fetch_member_with_roles(server, &self.id).await
}
/// Fetch ban from Ref
pub async fn as_ban(&self, db: &Database, server: &str) -> Result<ServerBan> {
db.fetch_ban(server, &self.id).await