mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 13:36:59 +00:00
Integrate voso, join_call route for channels.
This commit is contained in:
@@ -179,7 +179,7 @@ impl Message {
|
||||
builder.set_vapid_signature(signature);
|
||||
builder.set_payload(ContentEncoding::AesGcm, enc.as_bytes());
|
||||
let m = builder.build().unwrap();
|
||||
let response = client.send(m).await.ok();
|
||||
client.send(m).await.ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ pub enum ChannelPermission {
|
||||
View = 1,
|
||||
SendMessage = 2,
|
||||
ManageMessages = 4,
|
||||
VoiceCall = 8,
|
||||
}
|
||||
|
||||
bitfield! {
|
||||
@@ -20,6 +21,7 @@ bitfield! {
|
||||
pub get_view, _: 31;
|
||||
pub get_send_message, _: 30;
|
||||
pub get_manage_messages, _: 29;
|
||||
pub get_voice_call, _: 28;
|
||||
}
|
||||
|
||||
impl_op_ex!(+ |a: &ChannelPermission, b: &ChannelPermission| -> u32 { *a as u32 | *b as u32 });
|
||||
@@ -36,9 +38,7 @@ impl<'a> PermissionCalculator<'a> {
|
||||
match channel {
|
||||
Channel::SavedMessages { user: owner, .. } => {
|
||||
if &self.perspective.id == owner {
|
||||
Ok(ChannelPermission::View
|
||||
+ ChannelPermission::SendMessage
|
||||
+ ChannelPermission::ManageMessages)
|
||||
Ok(u32::MAX)
|
||||
} else {
|
||||
Ok(0)
|
||||
}
|
||||
@@ -54,7 +54,7 @@ impl<'a> PermissionCalculator<'a> {
|
||||
let perms = self.for_user(recipient).await?;
|
||||
|
||||
if perms.get_send_message() {
|
||||
return Ok(ChannelPermission::View + ChannelPermission::SendMessage);
|
||||
return Ok(ChannelPermission::View + ChannelPermission::SendMessage + ChannelPermission::VoiceCall);
|
||||
}
|
||||
|
||||
return Ok(ChannelPermission::View as u32);
|
||||
@@ -69,7 +69,7 @@ impl<'a> PermissionCalculator<'a> {
|
||||
.find(|x| *x == &self.perspective.id)
|
||||
.is_some()
|
||||
{
|
||||
Ok(ChannelPermission::View + ChannelPermission::SendMessage)
|
||||
Ok(ChannelPermission::View + ChannelPermission::SendMessage + ChannelPermission::VoiceCall)
|
||||
} else {
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user