fix(core/database): store member during permission query
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use std::num::NonZeroUsize;
|
||||
|
||||
use revolt_result::{create_error, Error, Result};
|
||||
use revolt_result::{create_error, Result};
|
||||
|
||||
use async_std::sync::Mutex;
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
@@ -120,11 +120,15 @@ impl PermissionQuery for DatabasePermissionQuery<'_> {
|
||||
if let Some(server) = &self.server {
|
||||
if self.member.is_some() {
|
||||
true
|
||||
} else if let Ok(member) = self
|
||||
.database
|
||||
.fetch_member(&server.id, &self.perspective.id)
|
||||
.await
|
||||
{
|
||||
self.member = Some(Cow::Owned(member));
|
||||
true
|
||||
} else {
|
||||
self.database
|
||||
.fetch_member(&server.id, &self.perspective.id)
|
||||
.await
|
||||
.is_ok()
|
||||
false
|
||||
}
|
||||
} else {
|
||||
false
|
||||
|
||||
Reference in New Issue
Block a user