diff options
| author | Austin Hellyer <[email protected]> | 2016-12-29 11:49:28 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-12-29 11:49:28 -0800 |
| commit | fa4952b30fec8f62c9882c2c9ef9836eae2cd9a9 (patch) | |
| tree | cae13f61f6634183ff73c24703c66d57b6b1d8e8 /src/model | |
| parent | Add user static avatar url methods (diff) | |
| download | serenity-fa4952b30fec8f62c9882c2c9ef9836eae2cd9a9.tar.xz serenity-fa4952b30fec8f62c9882c2c9ef9836eae2cd9a9.zip | |
Use conditional blocks over macros
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/channel.rs | 60 | ||||
| -rw-r--r-- | src/model/guild.rs | 55 | ||||
| -rw-r--r-- | src/model/id.rs | 5 | ||||
| -rw-r--r-- | src/model/invite.rs | 20 |
4 files changed, 84 insertions, 56 deletions
diff --git a/src/model/channel.rs b/src/model/channel.rs index 90fcc50..c56ebbe 100644 --- a/src/model/channel.rs +++ b/src/model/channel.rs @@ -438,7 +438,8 @@ impl Message { /// [Manage Messages]: permissions/constant.MANAGE_MESSAGES.html #[cfg(feature="methods")] pub fn delete(&self) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_MESSAGES; let is_author = self.author.id == CACHE.read().unwrap().user.id; let has_perms = utils::user_has_perms(self.channel_id, req)?; @@ -446,7 +447,7 @@ impl Message { if !is_author && !has_perms { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_message(self.channel_id.0, self.id.0) } @@ -466,13 +467,14 @@ impl Message { /// [Manage Messages]: permissions/constant.MANAGE_MESSAGES.html #[cfg(feature="methods")] pub fn delete_reactions(&self) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_MESSAGES; if !utils::user_has_perms(self.channel_id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_message_reactions(self.channel_id.0, self.id.0) } @@ -508,11 +510,12 @@ impl Message { return Err(Error::Client(ClientError::MessageTooLong(length_over))); } - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if self.author.id != CACHE.read().unwrap().user.id { return Err(Error::Client(ClientError::InvalidUser)); } - }} + } let mut map = ObjectBuilder::new().insert("content", new_content); @@ -611,13 +614,14 @@ impl Message { /// [Manage Messages]: permissions/constant.MANAGE_MESSAGES.html #[cfg(feature="methods")] pub fn pin(&self) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_MESSAGES; if !utils::user_has_perms(self.channel_id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::pin_message(self.channel_id.0, self.id.0) } @@ -638,13 +642,14 @@ impl Message { /// [permissions]: permissions #[cfg(feature="methods")] pub fn react<R: Into<ReactionType>>(&self, reaction_type: R) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::ADD_REACTIONS; if !utils::user_has_perms(self.channel_id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::create_reaction(self.channel_id.0, self.id.0, @@ -679,13 +684,14 @@ impl Message { return Err(Error::Client(ClientError::MessageTooLong(length_over))); } - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::SEND_MESSAGES; if !utils::user_has_perms(self.channel_id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let mut gen = self.author.mention(); gen.push_str(": "); @@ -714,13 +720,14 @@ impl Message { /// [Manage Messages]: permissions/constant.MANAGE_MESSAGES.html #[cfg(feature="methods")] pub fn unpin(&self) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_MESSAGES; if !utils::user_has_perms(self.channel_id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::unpin_message(self.channel_id.0, self.id.0) } @@ -782,11 +789,12 @@ impl PrivateChannel { /// [`ClientError::InvalidUser`]: ../client/enum.ClientError.html#variant.InvalidOperationAsUser #[cfg(feature="methods")] pub fn delete_messages(&self, message_ids: &[MessageId]) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if !CACHE.read().unwrap().user.bot { return Err(Error::Client(ClientError::InvalidOperationAsUser)); } - }} + } let ids: Vec<u64> = message_ids.into_iter() .map(|message_id| message_id.0) @@ -881,13 +889,14 @@ impl GuildChannel { #[cfg(feature="methods")] pub fn create_invite<F>(&self, f: F) -> Result<RichInvite> where F: FnOnce(CreateInvite) -> CreateInvite { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::CREATE_INVITE; if !utils::user_has_perms(self.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = f(CreateInvite::default()).0.build(); @@ -925,13 +934,14 @@ impl GuildChannel { /// Deletes this channel, returning the channel on a successful deletion. #[cfg(feature="methods")] pub fn delete(&self) -> Result<Channel> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_CHANNELS; if !utils::user_has_perms(self.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_channel(self.id.0) } @@ -953,13 +963,14 @@ impl GuildChannel { pub fn edit<F>(&mut self, f: F) -> Result<()> where F: FnOnce(EditChannel) -> EditChannel { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_CHANNELS; if !utils::user_has_perms(self.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = ObjectBuilder::new() .insert("name", &self.name) @@ -1017,13 +1028,14 @@ impl GuildChannel { return Err(Error::Client(ClientError::MessageTooLong(length_over))); } - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::SEND_MESSAGES; if !utils::user_has_perms(self.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = ObjectBuilder::new() .insert("content", content) diff --git a/src/model/guild.rs b/src/model/guild.rs index aabbb06..ec492d3 100644 --- a/src/model/guild.rs +++ b/src/model/guild.rs @@ -239,13 +239,14 @@ impl Guild { return Err(Error::Client(ClientError::DeleteMessageDaysAmount(delete_message_days))); } - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::BAN_MEMBERS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::ban_user(self.id.0, user.into().0, delete_message_days) } @@ -264,13 +265,14 @@ impl Guild { /// [Ban Members]: permissions/constant.BAN_MEMBERS.html #[cfg(feature="methods")] pub fn bans(&self) -> Result<Vec<Ban>> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::BAN_MEMBERS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::get_bans(self.id.0) } @@ -300,13 +302,14 @@ impl Guild { #[cfg(feature="methods")] pub fn create_channel(&mut self, name: &str, kind: ChannelType) -> Result<Channel> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_CHANNELS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = ObjectBuilder::new() .insert("name", name) @@ -334,13 +337,14 @@ impl Guild { #[cfg(feature="methods")] pub fn create_role<F>(&self, f: F) -> Result<Role> where F: FnOnce(EditRole) -> EditRole { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_ROLES; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let role = rest::create_role(self.id.0)?; let map = f(EditRole::new(&role)).0.build(); @@ -406,13 +410,14 @@ impl Guild { /// [`ClientError::InvalidUser`]: ../client/enum.ClientError.html#variant.InvalidUser #[cfg(feature="methods")] pub fn delete(&self) -> Result<PartialGuild> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if self.owner_id != CACHE.read().unwrap().user.id { let req = permissions::MANAGE_GUILD; return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_guild(self.id.0) } @@ -434,13 +439,14 @@ impl Guild { #[cfg(feature="methods")] pub fn edit<F>(&mut self, f: F) -> Result<()> where F: FnOnce(EditGuild) -> EditGuild { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_GUILD; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = f(EditGuild::default()).0.build(); @@ -482,13 +488,14 @@ impl Guild { /// [Change Nickname]: permissions/constant.CHANGE_NICKNAME.html #[cfg(feature="methods")] pub fn edit_nickname(&self, new_nickname: Option<&str>) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::CHANGE_NICKNAME; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::edit_nickname(self.id.0, new_nickname) } @@ -514,13 +521,14 @@ impl Guild { /// [Manage Guild]: permissions/constant.MANAGE_GUILD.html #[cfg(feature="methods")] pub fn get_invites(&self) -> Result<Vec<RichInvite>> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_GUILD; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::get_guild_invites(self.id.0) } @@ -725,13 +733,14 @@ impl Guild { /// [Kick Members]: permissions/constant.KICK_MEMBERS.html #[cfg(feature="methods")] pub fn prune_count(&self, days: u16) -> Result<GuildPrune> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::KICK_MEMBERS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = ObjectBuilder::new() .insert("days", days) @@ -764,13 +773,14 @@ impl Guild { /// [Kick Members]: permissions/constant.KICK_MEMBERS.html #[cfg(feature="methods")] pub fn start_prune(&self, days: u16) -> Result<GuildPrune> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::KICK_MEMBERS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } let map = ObjectBuilder::new() .insert("days", days) @@ -793,13 +803,14 @@ impl Guild { /// [Ban Members]: permissions/constant.BAN_MEMBERS.html #[cfg(feature="methods")] pub fn unban<U: Into<UserId>>(&self, user: U) -> Result<()> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::BAN_MEMBERS; if !self.has_perms(req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::remove_ban(self.id.0, user.into().0) } diff --git a/src/model/id.rs b/src/model/id.rs index b6cece6..aec5bfe 100644 --- a/src/model/id.rs +++ b/src/model/id.rs @@ -19,11 +19,12 @@ impl ChannelId { /// requested over REST. #[cfg(feature="methods")] pub fn get(&self) -> Result<Channel> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if let Some(channel) = CACHE.read().unwrap().get_channel(*self) { return Ok(channel.clone_inner()); } - }} + } rest::get_channel(self.0) } diff --git a/src/model/invite.rs b/src/model/invite.rs index 4742b39..0d68ff0 100644 --- a/src/model/invite.rs +++ b/src/model/invite.rs @@ -32,11 +32,12 @@ impl Invite { /// [permission]: permissions/index.html #[cfg(feature="methods")] pub fn accept(&self) -> Result<Invite> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if CACHE.read().unwrap().user.bot { return Err(Error::Client(ClientError::InvalidOperationAsBot)); } - }} + } rest::accept_invite(&self.code) } @@ -55,13 +56,14 @@ impl Invite { /// [permission]: permissions/index.html #[cfg(feature="methods")] pub fn delete(&self) -> Result<Invite> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_GUILD; if !utils::user_has_perms(self.channel.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_invite(&self.code) } @@ -89,11 +91,12 @@ impl RichInvite { /// [`rest::accept_invite`]: ../client/rest/fn.accept_invite.html #[cfg(feature="methods")] pub fn accept(&self) -> Result<Invite> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { if CACHE.read().unwrap().user.bot { return Err(Error::Client(ClientError::InvalidOperationAsBot)); } - }} + } rest::accept_invite(&self.code) } @@ -117,13 +120,14 @@ impl RichInvite { /// [permission]: permissions/index.html #[cfg(feature="methods")] pub fn delete(&self) -> Result<Invite> { - feature_cache_enabled! {{ + #[cfg(feature="cache")] + { let req = permissions::MANAGE_GUILD; if !utils::user_has_perms(self.channel.id, req)? { return Err(Error::Client(ClientError::InvalidPermissions(req))); } - }} + } rest::delete_invite(&self.code) } |