forked from jmug/stoatchat
Run cargo fmt.
This commit is contained in:
@@ -190,7 +190,7 @@ impl Channel {
|
||||
if let Channel::TextChannel { server, .. } = &self {
|
||||
get_collection("servers")
|
||||
.update_one(
|
||||
doc !{
|
||||
doc! {
|
||||
"_id": server
|
||||
},
|
||||
doc! {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use crate::database::*;
|
||||
use crate::notifications::events::ClientboundNotification;
|
||||
use crate::util::result::{Error, Result};
|
||||
use mongodb::bson::Document;
|
||||
use mongodb::bson::doc;
|
||||
use futures::StreamExt;
|
||||
use mongodb::bson::doc;
|
||||
use mongodb::bson::to_document;
|
||||
use mongodb::bson::Document;
|
||||
use mongodb::options::FindOptions;
|
||||
use rocket_contrib::json::JsonValue;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -149,9 +149,9 @@ impl Server {
|
||||
operation: "delete_many",
|
||||
with: "messages",
|
||||
})?;
|
||||
|
||||
|
||||
// Delete all channels, members, bans and invites.
|
||||
for with in [ "channels", "invites" ] {
|
||||
for with in ["channels", "invites"] {
|
||||
get_collection(with)
|
||||
.delete_many(
|
||||
doc! {
|
||||
@@ -166,7 +166,7 @@ impl Server {
|
||||
})?;
|
||||
}
|
||||
|
||||
for with in [ "server_members", "server_bans" ] {
|
||||
for with in ["server_members", "server_bans"] {
|
||||
get_collection(with)
|
||||
.delete_many(
|
||||
doc! {
|
||||
@@ -194,7 +194,10 @@ impl Server {
|
||||
with: "server",
|
||||
})?;
|
||||
|
||||
ClientboundNotification::ServerDelete { id: self.id.clone() }.publish(self.id.clone());
|
||||
ClientboundNotification::ServerDelete {
|
||||
id: self.id.clone(),
|
||||
}
|
||||
.publish(self.id.clone());
|
||||
|
||||
if let Some(attachment) = &self.icon {
|
||||
attachment.delete().await?;
|
||||
@@ -240,15 +243,16 @@ impl Server {
|
||||
"_id.server": &self.id,
|
||||
"_id.user": &id
|
||||
},
|
||||
None
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.map_err(|_| Error::DatabaseError {
|
||||
operation: "find_one",
|
||||
with: "server_bans",
|
||||
})?
|
||||
.is_some() {
|
||||
return Err(Error::Banned)
|
||||
.is_some()
|
||||
{
|
||||
return Err(Error::Banned);
|
||||
}
|
||||
|
||||
get_collection("server_members")
|
||||
@@ -266,10 +270,10 @@ impl Server {
|
||||
operation: "insert_one",
|
||||
with: "server_members",
|
||||
})?;
|
||||
|
||||
|
||||
ClientboundNotification::ServerMemberJoin {
|
||||
id: self.id.clone(),
|
||||
user: id.to_string()
|
||||
user: id.to_string(),
|
||||
}
|
||||
.publish(self.id.clone());
|
||||
|
||||
@@ -292,11 +296,11 @@ impl Server {
|
||||
operation: "delete_one",
|
||||
with: "server_members",
|
||||
})?;
|
||||
|
||||
|
||||
if result.deleted_count > 0 {
|
||||
ClientboundNotification::ServerMemberLeave {
|
||||
id: self.id.clone(),
|
||||
user: id.to_string()
|
||||
user: id.to_string(),
|
||||
}
|
||||
.publish(self.id.clone());
|
||||
}
|
||||
|
||||
@@ -78,10 +78,12 @@ impl Ref {
|
||||
})?
|
||||
.ok_or_else(|| Error::NotFound)?;
|
||||
|
||||
Ok(from_document::<Member>(doc).map_err(|_| Error::DatabaseError {
|
||||
operation: "from_document",
|
||||
with: "server_member",
|
||||
})?)
|
||||
Ok(
|
||||
from_document::<Member>(doc).map_err(|_| Error::DatabaseError {
|
||||
operation: "from_document",
|
||||
with: "server_member",
|
||||
})?,
|
||||
)
|
||||
}
|
||||
|
||||
pub async fn fetch_ban(&self, server: &str) -> Result<Ban> {
|
||||
|
||||
@@ -9,12 +9,12 @@ use std::ops;
|
||||
#[derive(Debug, PartialEq, Eq, TryFromPrimitive, Copy, Clone)]
|
||||
#[repr(u32)]
|
||||
pub enum ChannelPermission {
|
||||
View = 0b00000000000000000000000000000001, // 1
|
||||
SendMessage = 0b00000000000000000000000000000010, // 2
|
||||
View = 0b00000000000000000000000000000001, // 1
|
||||
SendMessage = 0b00000000000000000000000000000010, // 2
|
||||
ManageMessages = 0b00000000000000000000000000000100, // 4
|
||||
ManageChannel = 0b00000000000000000000000000001000, // 8
|
||||
VoiceCall = 0b00000000000000000000000000010000, // 16
|
||||
InviteOthers = 0b00000000000000000000000000100000, // 32
|
||||
ManageChannel = 0b00000000000000000000000000001000, // 8
|
||||
VoiceCall = 0b00000000000000000000000000010000, // 16
|
||||
InviteOthers = 0b00000000000000000000000000100000, // 32
|
||||
}
|
||||
|
||||
impl_op_ex!(+ |a: &ChannelPermission, b: &ChannelPermission| -> u32 { *a as u32 | *b as u32 });
|
||||
|
||||
@@ -8,18 +8,18 @@ use std::ops;
|
||||
#[derive(Debug, PartialEq, Eq, TryFromPrimitive, Copy, Clone)]
|
||||
#[repr(u32)]
|
||||
pub enum ServerPermission {
|
||||
View = 0b00000000000000000000000000000001, // 1
|
||||
ManageMembers = 0b00000000000000000000000000000010, // 2
|
||||
ManageChannels = 0b00000000000000000000000000000100, // 4
|
||||
ManageServer = 0b00000000000000000000000000001000, // 8
|
||||
KickMembers = 0b00000000000000000000000000010000, // 16
|
||||
BanMembers = 0b00000000000000000000000000100000, // 32
|
||||
View = 0b00000000000000000000000000000001, // 1
|
||||
ManageMembers = 0b00000000000000000000000000000010, // 2
|
||||
ManageChannels = 0b00000000000000000000000000000100, // 4
|
||||
ManageServer = 0b00000000000000000000000000001000, // 8
|
||||
KickMembers = 0b00000000000000000000000000010000, // 16
|
||||
BanMembers = 0b00000000000000000000000000100000, // 32
|
||||
// 6 bits of space
|
||||
ChangeNickname = 0b00000000000000000001000000000000, // 4096
|
||||
ChangeNickname = 0b00000000000000000001000000000000, // 4096
|
||||
ManageNicknames = 0b00000000000000000010000000000000, // 8192
|
||||
ChangeAvatar = 0b00000000000000000100000000000000, // 16392
|
||||
RemoveAvatars = 0b00000000000000001000000000000000, // 32784
|
||||
// 16 bits of space
|
||||
ChangeAvatar = 0b00000000000000000100000000000000, // 16392
|
||||
RemoveAvatars = 0b00000000000000001000000000000000, // 32784
|
||||
// 16 bits of space
|
||||
}
|
||||
|
||||
impl_op_ex!(+ |a: &ServerPermission, b: &ServerPermission| -> u32 { *a as u32 | *b as u32 });
|
||||
@@ -52,7 +52,9 @@ impl<'a> PermissionCalculator<'a> {
|
||||
if self.perspective.id == server.owner {
|
||||
Ok(u32::MAX)
|
||||
} else {
|
||||
Ok(ServerPermission::View + ServerPermission::ChangeNickname + ServerPermission::ChangeAvatar)
|
||||
Ok(ServerPermission::View
|
||||
+ ServerPermission::ChangeNickname
|
||||
+ ServerPermission::ChangeAvatar)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@ use std::ops;
|
||||
#[derive(Debug, PartialEq, Eq, TryFromPrimitive, Copy, Clone)]
|
||||
#[repr(u32)]
|
||||
pub enum UserPermission {
|
||||
Access = 0b00000000000000000000000000000001, // 1
|
||||
Access = 0b00000000000000000000000000000001, // 1
|
||||
ViewProfile = 0b00000000000000000000000000000010, // 2
|
||||
SendMessage = 0b00000000000000000000000000000100, // 4
|
||||
Invite = 0b00000000000000000000000000001000, // 8
|
||||
Invite = 0b00000000000000000000000000001000, // 8
|
||||
}
|
||||
|
||||
bitfield! {
|
||||
|
||||
Reference in New Issue
Block a user