Fix various issues relating to voice channels.
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export version=0.5.1-alpha.0
|
export version=0.5.1-alpha.0-patch.0
|
||||||
echo "pub const VERSION: &str = \"${version}\";" > src/version.rs
|
echo "pub const VERSION: &str = \"${version}\";" > src/version.rs
|
||||||
|
|||||||
@@ -232,7 +232,9 @@ impl Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove from server object.
|
// Remove from server object.
|
||||||
if let Channel::TextChannel { server, .. } = &self {
|
match &self {
|
||||||
|
Channel::TextChannel { server, .. }
|
||||||
|
| Channel::VoiceChannel { server, .. } => {
|
||||||
let server = Ref::from_unchecked(server.clone()).fetch_server().await?;
|
let server = Ref::from_unchecked(server.clone()).fetch_server().await?;
|
||||||
let mut update = doc! {
|
let mut update = doc! {
|
||||||
"$pull": {
|
"$pull": {
|
||||||
@@ -285,6 +287,8 @@ impl Channel {
|
|||||||
operation: "update_one",
|
operation: "update_one",
|
||||||
with: "servers",
|
with: "servers",
|
||||||
})?;
|
})?;
|
||||||
|
},
|
||||||
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finally, delete the channel object.
|
// Finally, delete the channel object.
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ pub async fn req(user: User, target: Ref, data: Json<Data>) -> Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match &target {
|
match &target {
|
||||||
Channel::Group { id, icon, .. } | Channel::TextChannel { id, icon, .. } => {
|
Channel::Group { id, icon, .. }
|
||||||
|
| Channel::TextChannel { id, icon, .. }
|
||||||
|
| Channel::VoiceChannel { id, icon, .. } => {
|
||||||
let mut set = doc! {};
|
let mut set = doc! {};
|
||||||
let mut unset = doc! {};
|
let mut unset = doc! {};
|
||||||
|
|
||||||
|
|||||||
@@ -35,14 +35,9 @@ pub async fn req(target: Ref) -> Result<JsonValue> {
|
|||||||
let channel = Ref::from_unchecked(channel).fetch_channel().await?;
|
let channel = Ref::from_unchecked(channel).fetch_channel().await?;
|
||||||
let creator = Ref::from_unchecked(creator).fetch_user().await?;
|
let creator = Ref::from_unchecked(creator).fetch_user().await?;
|
||||||
|
|
||||||
if let Channel::TextChannel {
|
match channel {
|
||||||
id,
|
Channel::TextChannel { id, server, name, description, .. }
|
||||||
server,
|
| Channel::VoiceChannel { id, server, name, description, .. } => {
|
||||||
name,
|
|
||||||
description,
|
|
||||||
..
|
|
||||||
} = channel
|
|
||||||
{
|
|
||||||
let server = Ref::from_unchecked(server).fetch_server().await?;
|
let server = Ref::from_unchecked(server).fetch_server().await?;
|
||||||
|
|
||||||
Ok(json!(InviteResponse::Server {
|
Ok(json!(InviteResponse::Server {
|
||||||
@@ -56,8 +51,8 @@ pub async fn req(target: Ref) -> Result<JsonValue> {
|
|||||||
user_name: creator.username,
|
user_name: creator.username,
|
||||||
user_avatar: creator.avatar
|
user_avatar: creator.avatar
|
||||||
}))
|
}))
|
||||||
} else {
|
}
|
||||||
unreachable!()
|
_ => unreachable!()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
|
|||||||
@@ -10,10 +10,12 @@ pub async fn req(user: User, target: Ref) -> Result<JsonValue> {
|
|||||||
match target {
|
match target {
|
||||||
Invite::Server { channel, .. } => {
|
Invite::Server { channel, .. } => {
|
||||||
let channel = Ref::from_unchecked(channel).fetch_channel().await?;
|
let channel = Ref::from_unchecked(channel).fetch_channel().await?;
|
||||||
let server = if let Channel::TextChannel { server, .. } = &channel {
|
let server = match &channel {
|
||||||
|
Channel::TextChannel { server, .. }
|
||||||
|
| Channel::VoiceChannel { server, .. } => {
|
||||||
Ref::from_unchecked(server.clone()).fetch_server().await?
|
Ref::from_unchecked(server.clone()).fetch_server().await?
|
||||||
} else {
|
}
|
||||||
unreachable!()
|
_ => unreachable!()
|
||||||
};
|
};
|
||||||
|
|
||||||
server.join_member(&user.id).await?;
|
server.join_member(&user.id).await?;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
pub const VERSION: &str = "0.5.1-alpha.0";
|
pub const VERSION: &str = "0.5.1-alpha.0-patch.0";
|
||||||
|
|||||||
Reference in New Issue
Block a user