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

@@ -1,10 +1,10 @@
use bson::Document;
use super::super::MongoDb;
use crate::models::server_member::MemberWithRoles;
use crate::models::server_member::{FieldsMember, Member, MemberCompositeKey, PartialMember};
use crate::r#impl::mongo::IntoDocumentPath;
use crate::{AbstractServerMember, Error, Result};
use super::super::MongoDb;
use crate::{AbstractServer, AbstractServerMember, Error, Result};
static COL: &str = "server_members";
@@ -21,6 +21,13 @@ impl AbstractServerMember for MongoDb {
.await
}
async fn fetch_member_with_roles(&self, server: &str, user: &str) -> Result<MemberWithRoles> {
Ok(self
.fetch_member(server, user)
.await?
.with_roles(self.fetch_server(server).await?.roles))
}
async fn insert_member(&self, member: &Member) -> Result<()> {
self.insert_one(COL, member).await.map(|_| ())
}