forked from jmug/stoatchat
fix: ensure list matches
This commit is contained in:
@@ -119,23 +119,28 @@ async fn calculate_channel_permission(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Channel::DirectMessage { recipients, .. } => {
|
Channel::DirectMessage { recipients, .. } => {
|
||||||
// 2. Fetch user.
|
// 2. Ensure we are a recipient.
|
||||||
let other_user = recipients
|
if recipients.contains(&data.perspective.id) {
|
||||||
.iter()
|
// 3. Fetch user.
|
||||||
.find(|x| x != &&data.perspective.id)
|
let other_user = recipients
|
||||||
.unwrap();
|
.iter()
|
||||||
|
.find(|x| x != &&data.perspective.id)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let user = db.fetch_user(other_user).await?;
|
let user = db.fetch_user(other_user).await?;
|
||||||
data.user.set(user);
|
data.user.set(user);
|
||||||
|
|
||||||
// 3. Calculate user permissions.
|
// 4. Calculate user permissions.
|
||||||
let perms = data.calc_user(db).await;
|
let perms = data.calc_user(db).await;
|
||||||
|
|
||||||
// 4. Check if the user can send messages.
|
// 5. Check if the user can send messages.
|
||||||
if perms.get_send_message() {
|
if perms.get_send_message() {
|
||||||
(*DEFAULT_PERMISSION_DIRECT_MESSAGE).into()
|
(*DEFAULT_PERMISSION_DIRECT_MESSAGE).into()
|
||||||
|
} else {
|
||||||
|
(*DEFAULT_PERMISSION_VIEW_ONLY).into()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
(*DEFAULT_PERMISSION_VIEW_ONLY).into()
|
0_u64.into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Channel::Group {
|
Channel::Group {
|
||||||
|
|||||||
Reference in New Issue
Block a user