diff --git a/set_version.sh b/set_version.sh index 83dbf614..89c2a54c 100755 --- a/set_version.sh +++ b/set_version.sh @@ -1,3 +1,3 @@ #!/bin/bash -export version=0.5.1-alpha.2 +export version=0.5.1-alpha.3 echo "pub const VERSION: &str = \"${version}\";" > src/version.rs diff --git a/src/routes/channels/permissions_set.rs b/src/routes/channels/permissions_set.rs index 34984a99..f9960d7c 100644 --- a/src/routes/channels/permissions_set.rs +++ b/src/routes/channels/permissions_set.rs @@ -13,7 +13,7 @@ pub struct Data { permissions: u32 } -#[put("//permissions/", data = "")] +#[put("//permissions/", data = "", rank = 2)] pub async fn req(user: User, target: Ref, role: String, data: Json) -> Result<()> { let target = target.fetch_channel().await?; @@ -33,7 +33,7 @@ pub async fn req(user: User, target: Ref, role: String, data: Json) -> Res if !target.roles.has_element(&role) { return Err(Error::NotFound); } - + let permissions: u32 = ChannelPermission::View as u32 | data.permissions; get_collection("channels") diff --git a/src/routes/servers/permissions_set.rs b/src/routes/servers/permissions_set.rs index 3e23a06c..62ffa3c8 100644 --- a/src/routes/servers/permissions_set.rs +++ b/src/routes/servers/permissions_set.rs @@ -9,12 +9,17 @@ use crate::notifications::events::ClientboundNotification; use crate::util::result::{Error, Result}; #[derive(Serialize, Deserialize)] -pub struct Data { +pub struct Values { server: u32, channel: u32 } -#[put("//permissions/", data = "")] +#[derive(Serialize, Deserialize)] +pub struct Data { + permissions: Values +} + +#[put("//permissions/", data = "", rank = 2)] pub async fn req(user: User, target: Ref, role_id: String, data: Json) -> Result<()> { let target = target.fetch_server().await?; @@ -31,8 +36,8 @@ pub async fn req(user: User, target: Ref, role_id: String, data: Json) -> return Err(Error::NotFound); } - let server_permissions: u32 = ServerPermission::View as u32 | data.server; - let channel_permissions: u32 = ChannelPermission::View as u32 | data.channel; + let server_permissions: u32 = ServerPermission::View as u32 | data.permissions.server; + let channel_permissions: u32 = ChannelPermission::View as u32 | data.permissions.channel; get_collection("servers") .update_one( diff --git a/src/routes/servers/permissions_set_default.rs b/src/routes/servers/permissions_set_default.rs index d379092c..c98dcac4 100644 --- a/src/routes/servers/permissions_set_default.rs +++ b/src/routes/servers/permissions_set_default.rs @@ -9,11 +9,16 @@ use crate::notifications::events::ClientboundNotification; use crate::util::result::{Error, Result}; #[derive(Serialize, Deserialize)] -pub struct Data { +pub struct Values { server: u32, channel: u32 } +#[derive(Serialize, Deserialize)] +pub struct Data { + permissions: Values +} + #[put("//permissions/default", data = "", rank = 1)] pub async fn req(user: User, target: Ref, data: Json) -> Result<()> { let target = target.fetch_server().await?; @@ -27,8 +32,8 @@ pub async fn req(user: User, target: Ref, data: Json) -> Result<()> { return Err(Error::MissingPermission); } - let server_permissions: u32 = ServerPermission::View as u32 | data.server; - let channel_permissions: u32 = ChannelPermission::View as u32 | data.channel; + let server_permissions: u32 = ServerPermission::View as u32 | data.permissions.server; + let channel_permissions: u32 = ChannelPermission::View as u32 | data.permissions.channel; get_collection("servers") .update_one( diff --git a/src/version.rs b/src/version.rs index 17272757..ca25382c 100644 --- a/src/version.rs +++ b/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "0.5.1-alpha.2"; +pub const VERSION: &str = "0.5.1-alpha.3";