fix(delta): MemberResponse only include roles member has

This commit is contained in:
Bob Bobs
2024-02-09 20:07:56 -07:00
committed by Paul Makles
parent 9663caa1ff
commit e4b5a23f71

View File

@@ -22,10 +22,14 @@ impl AbstractServerMember for MongoDb {
} }
async fn fetch_member_with_roles(&self, server: &str, user: &str) -> Result<MemberWithRoles> { async fn fetch_member_with_roles(&self, server: &str, user: &str) -> Result<MemberWithRoles> {
Ok(self let member = self.fetch_member(server, user).await?;
.fetch_member(server, user) let server_roles = self.fetch_server(server).await?.roles;
.await? let roles = member
.with_roles(self.fetch_server(server).await?.roles)) .roles
.iter()
.filter_map(|id| server_roles.get(id).map(|r| (id.clone(), r.clone())))
.collect();
Ok(MemberWithRoles { member, roles })
} }
async fn insert_member(&self, member: &Member) -> Result<()> { async fn insert_member(&self, member: &Member) -> Result<()> {