Skip to content
Snippets Groups Projects
Commit 10f116b4 authored by insert's avatar insert
Browse files

Block voice calls in saved messages channel.

Add messages for desc / icon change for group chats.
parent 6716a2d3
No related merge requests found
......@@ -30,6 +30,10 @@ pub enum SystemMessage {
UserLeft { id: String },
#[serde(rename = "channel_renamed")]
ChannelRenamed { name: String, by: String },
#[serde(rename = "channel_description_changed")]
ChannelDescriptionChanged { by: String },
#[serde(rename = "channel_icon_changed")]
ChannelIconChanged { by: String },
}
#[derive(Serialize, Deserialize, Debug, Clone)]
......
......@@ -40,7 +40,7 @@ impl<'a> PermissionCalculator<'a> {
match channel {
Channel::SavedMessages { user: owner, .. } => {
if &self.perspective.id == owner {
Ok(u32::MAX)
Ok(u32::MAX - ChannelPermission::VoiceCall as u32)
} else {
Ok(0)
}
......
......@@ -111,7 +111,29 @@ pub async fn req(user: User, target: Ref, data: Json<Data>) -> Result<()> {
Message::create(
"00000000000000000000000000".to_string(),
id.clone(),
Content::SystemMessage(SystemMessage::ChannelRenamed { name, by: user.id }),
Content::SystemMessage(SystemMessage::ChannelRenamed { name, by: user.id.clone() }),
)
.publish(&target)
.await
.ok();
}
if let Some(_) = data.description {
Message::create(
"00000000000000000000000000".to_string(),
id.clone(),
Content::SystemMessage(SystemMessage::ChannelDescriptionChanged { by: user.id.clone() }),
)
.publish(&target)
.await
.ok();
}
if let Some(_) = data.icon {
Message::create(
"00000000000000000000000000".to_string(),
id.clone(),
Content::SystemMessage(SystemMessage::ChannelIconChanged { by: user.id }),
)
.publish(&target)
.await
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment