diff --git a/Cargo.lock b/Cargo.lock index 91ad0db0f2e2e48c535a01872e300ea4de72d993..908f3902adf72e4117de29acbdc47d0e2f89204f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2475,7 +2475,7 @@ dependencies = [ [[package]] name = "revolt" -version = "0.4.0-alpha.5" +version = "0.4.0-alpha.6" dependencies = [ "async-std", "async-tungstenite", diff --git a/Cargo.toml b/Cargo.toml index 40d968531a5f2a8f7bcfabba788a9bf7165a4c49..c51af081387e1043983e6b83660ccc3a9f50c0d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "revolt" -version = "0.4.0-alpha.5" +version = "0.4.0-alpha.6" authors = ["Paul Makles <paulmakles@gmail.com>"] edition = "2018" diff --git a/src/database/entities/user.rs b/src/database/entities/user.rs index c3b7b2ce8969a6c8dd3daca3cf2530be030927a3..a89b023b5755db9c9e430e59cd1c6e1d264dafb3 100644 --- a/src/database/entities/user.rs +++ b/src/database/entities/user.rs @@ -110,7 +110,7 @@ impl User { /// Utility function for checking claimed usernames. pub async fn is_username_taken(username: &str) -> Result<bool> { - if username == "revolt" && username == "admin" { + if username.to_lowercase() == "revolt" && username.to_lowercase() == "admin" { return Ok(true); } diff --git a/src/database/permissions/mod.rs b/src/database/permissions/mod.rs index c29427eef800caef269a2bf7adfb7f14b8196d5c..7fc9b26eb89eda009c677d5c83885cfac40df000 100644 --- a/src/database/permissions/mod.rs +++ b/src/database/permissions/mod.rs @@ -11,7 +11,7 @@ pub struct PermissionCalculator<'a> { user: Option<&'a User>, channel: Option<&'a Channel>, - has_mutual_conncetion: bool, + has_mutual_connection: bool, } impl<'a> PermissionCalculator<'a> { @@ -22,7 +22,7 @@ impl<'a> PermissionCalculator<'a> { user: None, channel: None, - has_mutual_conncetion: false, + has_mutual_connection: false, } } @@ -42,7 +42,7 @@ impl<'a> PermissionCalculator<'a> { pub fn with_mutual_connection(self) -> PermissionCalculator<'a> { PermissionCalculator { - has_mutual_conncetion: true, + has_mutual_connection: true, ..self } } diff --git a/src/database/permissions/user.rs b/src/database/permissions/user.rs index 4ff42bfce28a15c26e6f689629a58ea50e6b7753..7d516eef7d038f560a8f127e35f8d21c3064ed39 100644 --- a/src/database/permissions/user.rs +++ b/src/database/permissions/user.rs @@ -64,7 +64,7 @@ impl<'a> PermissionCalculator<'a> { _ => {} } - if self.has_mutual_conncetion + if self.has_mutual_connection || get_collection("channels") .find_one( doc! { @@ -84,7 +84,8 @@ impl<'a> PermissionCalculator<'a> { })? .is_some() { - return Ok(UserPermission::Access as u32); + // ! FIXME: add privacy settings + return Ok(UserPermission::Access + UserPermission::ViewProfile); } Ok(permissions) diff --git a/src/routes/root.rs b/src/routes/root.rs index 719af3d5e769734b22d159f37f6e71a98afd7242..c18ec1e2189590d750ca6aef52991bd48008c19e 100644 --- a/src/routes/root.rs +++ b/src/routes/root.rs @@ -9,7 +9,7 @@ use rocket_contrib::json::JsonValue; #[get("/")] pub async fn root() -> JsonValue { json!({ - "revolt": "0.4.0-alpha.5", + "revolt": "0.4.0-alpha.6", "features": { "registration": !*DISABLE_REGISTRATION, "captcha": {