From 50d9f50c8f1f37b1cb136a1b3adf46e3b1374d74 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Fri, 11 Feb 2022 23:33:38 +0000 Subject: [PATCH] chore: commit the things that are to be commited --- src/routes/bots/create.rs | 19 +++++++++++++++++-- src/routes/bots/edit.rs | 6 +++--- src/routes/bots/invite.rs | 8 +++----- src/routes/invites/invite_fetch.rs | 22 +++++++++++----------- src/routes/invites/invite_join.rs | 4 ++-- src/routes/servers/member_edit.rs | 1 + src/routes/servers/permissions_set.rs | 6 ++++++ src/routes/servers/roles_delete.rs | 2 ++ src/routes/servers/server_create.rs | 2 +- 9 files changed, 46 insertions(+), 24 deletions(-) diff --git a/src/routes/bots/create.rs b/src/routes/bots/create.rs index 445bc672..58ef2490 100644 --- a/src/routes/bots/create.rs +++ b/src/routes/bots/create.rs @@ -2,7 +2,7 @@ use crate::util::{regex::RE_USERNAME, variables::MAX_BOT_COUNT}; use nanoid::nanoid; use revolt_quark::{ - models::{Bot, User}, + models::{Bot, User, user::BotInformation}, Db, Error, Result, }; @@ -31,13 +31,28 @@ pub async fn create_bot(db: &Db, user: User, info: Json) -> Result) -> Res } if data.public.is_none() - || data.analytics.is_none() - || data.interactions_url.is_none() - || data.remove.is_none() + && data.analytics.is_none() + && data.interactions_url.is_none() + && data.remove.is_none() { return Ok(Json(bot)); } diff --git a/src/routes/bots/invite.rs b/src/routes/bots/invite.rs index dacdd443..dab79d12 100644 --- a/src/routes/bots/invite.rs +++ b/src/routes/bots/invite.rs @@ -1,5 +1,5 @@ use revolt_quark::{ - models::{Channel, User, Member, server_member::MemberCompositeKey}, + models::{server_member::MemberCompositeKey, Channel, Member, User}, perms, ChannelPermission, Db, EmptyResponse, Error, Ref, Result, ServerPermission, }; @@ -46,14 +46,12 @@ pub async fn invite_bot( let member = Member { id: MemberCompositeKey { server: server.id, - user: bot.id + user: bot.id, }, ..Default::default() }; - db.insert_member(&member) - .await - .map(|_| EmptyResponse) + db.insert_member(&member).await.map(|_| EmptyResponse) } Destination::Group { group } => { let channel = db.fetch_channel(&group).await?; diff --git a/src/routes/invites/invite_fetch.rs b/src/routes/invites/invite_fetch.rs index f301cbcf..d24b5e0a 100644 --- a/src/routes/invites/invite_fetch.rs +++ b/src/routes/invites/invite_fetch.rs @@ -77,25 +77,25 @@ pub async fn req(db: &Db, target: Ref) -> Result> { _ => unreachable!(), } } - Invite::Group { channel, creator, .. } => { + Invite::Group { + channel, creator, .. + } => { let channel = db.fetch_channel(&channel).await?; let user = db.fetch_user(&creator).await?; match channel { - | Channel::Group { + Channel::Group { id, name, description, .. - } => { - InviteResponse::Group { - channel_id: id, - channel_name: name, - channel_description: description, - user_name: user.username, - user_avatar: user.avatar, - } - } + } => InviteResponse::Group { + channel_id: id, + channel_name: name, + channel_description: description, + user_name: user.username, + user_avatar: user.avatar, + }, _ => unreachable!(), } } diff --git a/src/routes/invites/invite_join.rs b/src/routes/invites/invite_join.rs index 63b39335..53a942bb 100644 --- a/src/routes/invites/invite_join.rs +++ b/src/routes/invites/invite_join.rs @@ -1,5 +1,5 @@ use revolt_quark::{ - models::{Invite, User, server_member::MemberCompositeKey, Member}, + models::{server_member::MemberCompositeKey, Invite, Member, User}, Db, Error, Ref, Result, }; @@ -33,7 +33,7 @@ pub async fn req(db: &Db, user: User, target: Ref) -> Result { let member = Member { id: MemberCompositeKey { server: server.id.clone(), - user: user.id.clone() + user: user.id.clone(), }, ..Default::default() }; diff --git a/src/routes/servers/member_edit.rs b/src/routes/servers/member_edit.rs index b382e204..cff2ddc7 100644 --- a/src/routes/servers/member_edit.rs +++ b/src/routes/servers/member_edit.rs @@ -54,6 +54,7 @@ pub async fn req( }; // ! FIXME: calculate permission against member + // ! FIXME: also check roles exist lol // 1. Remove fields from object if let Some(fields) = &remove { diff --git a/src/routes/servers/permissions_set.rs b/src/routes/servers/permissions_set.rs index 2e888675..0f5df690 100644 --- a/src/routes/servers/permissions_set.rs +++ b/src/routes/servers/permissions_set.rs @@ -32,6 +32,12 @@ pub async fn req( return Err(Error::NotFound); } + // ! FIXME: calculate permission against role + + if !server.roles.contains_key(&role_id) { + return Err(Error::NotFound); + } + db.update_role_permission( &server.id, &role_id, diff --git a/src/routes/servers/roles_delete.rs b/src/routes/servers/roles_delete.rs index 4b2e6908..52e139ff 100644 --- a/src/routes/servers/roles_delete.rs +++ b/src/routes/servers/roles_delete.rs @@ -12,6 +12,8 @@ pub async fn req(db: &Db, user: User, target: Ref, role_id: String) -> Result