mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-12 14:06:59 +00:00
Compare commits
2 Commits
0.5.5
...
20220718-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8491ced13d | ||
|
|
229d4e2e1d |
@@ -83,11 +83,11 @@ pub async fn req(
|
||||
}
|
||||
|
||||
// Transfer ownership
|
||||
*owner = new_owner.to_string();
|
||||
let old_owner = std::mem::replace(owner, new_owner.to_string());
|
||||
|
||||
// Notify clients
|
||||
SystemMessage::ChannelOwnershipChanged {
|
||||
from: owner.to_string(),
|
||||
from: old_owner,
|
||||
to: new_owner,
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -119,23 +119,28 @@ async fn calculate_channel_permission(
|
||||
}
|
||||
}
|
||||
Channel::DirectMessage { recipients, .. } => {
|
||||
// 2. Fetch user.
|
||||
let other_user = recipients
|
||||
.iter()
|
||||
.find(|x| x != &&data.perspective.id)
|
||||
.unwrap();
|
||||
// 2. Ensure we are a recipient.
|
||||
if recipients.contains(&data.perspective.id) {
|
||||
// 3. Fetch user.
|
||||
let other_user = recipients
|
||||
.iter()
|
||||
.find(|x| x != &&data.perspective.id)
|
||||
.unwrap();
|
||||
|
||||
let user = db.fetch_user(other_user).await?;
|
||||
data.user.set(user);
|
||||
let user = db.fetch_user(other_user).await?;
|
||||
data.user.set(user);
|
||||
|
||||
// 3. Calculate user permissions.
|
||||
let perms = data.calc_user(db).await;
|
||||
// 4. Calculate user permissions.
|
||||
let perms = data.calc_user(db).await;
|
||||
|
||||
// 4. Check if the user can send messages.
|
||||
if perms.get_send_message() {
|
||||
(*DEFAULT_PERMISSION_DIRECT_MESSAGE).into()
|
||||
// 5. Check if the user can send messages.
|
||||
if perms.get_send_message() {
|
||||
(*DEFAULT_PERMISSION_DIRECT_MESSAGE).into()
|
||||
} else {
|
||||
(*DEFAULT_PERMISSION_VIEW_ONLY).into()
|
||||
}
|
||||
} else {
|
||||
(*DEFAULT_PERMISSION_VIEW_ONLY).into()
|
||||
0_u64.into()
|
||||
}
|
||||
}
|
||||
Channel::Group {
|
||||
|
||||
Reference in New Issue
Block a user