forked from jmug/stoatchat
fix(bonfire): populate cache for calculating permissions (#259)
This commit is contained in:
1 parent
55bd6fb087
commit
6e4798f1d4
4 files changed
+36
-37
No files matched your search
@@ -1,6 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use iso8601_timestamp::Timestamp;
|
||||
use ulid::Ulid;
|
||||
|
||||
use crate::{
|
||||
@@ -186,18 +185,7 @@ impl Server {
|
||||
return Err(Error::Banned);
|
||||
}
|
||||
|
||||
let member = Member {
|
||||
id: MemberCompositeKey {
|
||||
server: self.id.clone(),
|
||||
user: user.id.clone(),
|
||||
},
|
||||
joined_at: Timestamp::now_utc(),
|
||||
nickname: None,
|
||||
avatar: None,
|
||||
roles: vec![],
|
||||
timeout: None,
|
||||
};
|
||||
|
||||
let member = Member::new(self.id.clone(), user.id.clone());
|
||||
db.insert_member(&member).await?;
|
||||
|
||||
let should_fetch = channels.is_none();
|
||||
|
||||
@@ -3,13 +3,27 @@ use iso8601_timestamp::Timestamp;
|
||||
use crate::{
|
||||
events::client::EventV1,
|
||||
models::{
|
||||
server_member::{FieldsMember, PartialMember},
|
||||
server_member::{FieldsMember, MemberCompositeKey, PartialMember},
|
||||
Member, Server,
|
||||
},
|
||||
Database, Result,
|
||||
};
|
||||
|
||||
impl Member {
|
||||
pub fn new(server_id: String, user_id: String) -> Self {
|
||||
Self {
|
||||
id: MemberCompositeKey {
|
||||
server: server_id,
|
||||
user: user_id,
|
||||
},
|
||||
joined_at: Timestamp::now_utc(),
|
||||
nickname: None,
|
||||
avatar: None,
|
||||
roles: vec![],
|
||||
timeout: None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Update member data
|
||||
pub async fn update<'a>(
|
||||
&mut self,
|
||||
|
||||
Reference in new issue
Block a user