Skip to content

Commit 6c67796

Browse files
authored
Remove deprecated permissions methods (#3042)
This follows up on #3037, and also removes the now unnecessary Option around the GuildChannel param.
1 parent efb5820 commit 6c67796

File tree

3 files changed

+22
-122
lines changed

3 files changed

+22
-122
lines changed

src/model/guild/member.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -324,24 +324,6 @@ impl Member {
324324
self.guild_id.disconnect_member(http, self.user.id).await
325325
}
326326

327-
/// Returns the guild-level permissions for the member.
328-
///
329-
/// # Errors
330-
///
331-
/// Returns a [`ModelError::GuildNotFound`] if the guild the member's in could not be
332-
/// found in the cache.
333-
///
334-
/// And/or returns [`ModelError::ItemMissing`] if the "default channel" of the guild is not
335-
/// found.
336-
#[cfg(feature = "cache")]
337-
#[deprecated = "Use Guild::member_permissions_in, as this doesn't consider permission overwrites"]
338-
pub fn permissions(&self, cache: &Cache) -> Result<Permissions> {
339-
let guild = cache.guild(self.guild_id).ok_or(ModelError::GuildNotFound)?;
340-
341-
#[expect(deprecated)]
342-
Ok(guild.member_permissions(self))
343-
}
344-
345327
/// Removes a [`Role`] from the member.
346328
///
347329
/// **Note**: Requires the [Manage Roles] permission.

src/model/guild/mod.rs

Lines changed: 20 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -802,51 +802,11 @@ impl Guild {
802802
members
803803
}
804804

805-
/// Calculate a [`Member`]'s permissions in the guild.
806-
#[must_use]
807-
#[deprecated = "Use Guild::member_permissions_in, as this doesn't consider permission overwrites"]
808-
pub fn member_permissions(&self, member: &Member) -> Permissions {
809-
Self::user_permissions_in_(
810-
None,
811-
member.user.id,
812-
&member.roles,
813-
self.id,
814-
&self.roles,
815-
self.owner_id,
816-
)
817-
}
818-
819-
/// Calculate a [`PartialMember`]'s permissions in the guild.
820-
///
821-
/// # Panics
822-
///
823-
/// Panics if the passed [`UserId`] does not match the [`PartialMember`] id, if user is Some.
824-
#[must_use]
825-
#[deprecated = "Use Guild::partial_member_permissions_in, as this doesn't consider permission overwrites"]
826-
pub fn partial_member_permissions(
827-
&self,
828-
member_id: UserId,
829-
member: &PartialMember,
830-
) -> Permissions {
831-
if let Some(user) = &member.user {
832-
assert_eq!(user.id, member_id, "User::id does not match provided PartialMember");
833-
}
834-
835-
Self::user_permissions_in_(
836-
None,
837-
member_id,
838-
&member.roles,
839-
self.id,
840-
&self.roles,
841-
self.owner_id,
842-
)
843-
}
844-
845805
/// Calculate a [`Member`]'s permissions in a given channel in the guild.
846806
#[must_use]
847807
pub fn user_permissions_in(&self, channel: &GuildChannel, member: &Member) -> Permissions {
848808
Self::user_permissions_in_(
849-
Some(channel),
809+
channel,
850810
member.user.id,
851811
&member.roles,
852812
self.id,
@@ -872,7 +832,7 @@ impl Guild {
872832
}
873833

874834
Self::user_permissions_in_(
875-
Some(channel),
835+
channel,
876836
member_id,
877837
&member.roles,
878838
self.id,
@@ -883,7 +843,7 @@ impl Guild {
883843

884844
/// Helper function that can also be used from [`PartialGuild`].
885845
pub(crate) fn user_permissions_in_(
886-
channel: Option<&GuildChannel>,
846+
channel: &GuildChannel,
887847
member_user_id: UserId,
888848
member_roles: &[RoleId],
889849
guild_id: GuildId,
@@ -897,25 +857,23 @@ impl Guild {
897857
let mut member_allow_overwrites = Permissions::empty();
898858
let mut member_deny_overwrites = Permissions::empty();
899859

900-
if let Some(channel) = channel {
901-
for overwrite in &channel.permission_overwrites {
902-
match overwrite.kind {
903-
PermissionOverwriteType::Member(user_id) => {
904-
if member_user_id == user_id {
905-
member_allow_overwrites = overwrite.allow;
906-
member_deny_overwrites = overwrite.deny;
907-
}
908-
},
909-
PermissionOverwriteType::Role(role_id) => {
910-
if role_id.get() == guild_id.get() {
911-
everyone_allow_overwrites = overwrite.allow;
912-
everyone_deny_overwrites = overwrite.deny;
913-
} else if member_roles.contains(&role_id) {
914-
roles_allow_overwrites.push(overwrite.allow);
915-
roles_deny_overwrites.push(overwrite.deny);
916-
}
917-
},
918-
}
860+
for overwrite in &channel.permission_overwrites {
861+
match overwrite.kind {
862+
PermissionOverwriteType::Member(user_id) => {
863+
if member_user_id == user_id {
864+
member_allow_overwrites = overwrite.allow;
865+
member_deny_overwrites = overwrite.deny;
866+
}
867+
},
868+
PermissionOverwriteType::Role(role_id) => {
869+
if role_id.get() == guild_id.get() {
870+
everyone_allow_overwrites = overwrite.allow;
871+
everyone_deny_overwrites = overwrite.deny;
872+
} else if member_roles.contains(&role_id) {
873+
roles_allow_overwrites.push(overwrite.allow);
874+
roles_deny_overwrites.push(overwrite.deny);
875+
}
876+
},
919877
}
920878
}
921879

src/model/guild/partial_guild.rs

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -183,46 +183,6 @@ impl PartialGuild {
183183
guild_id.to_partial_guild(cache_http).await
184184
}
185185

186-
/// Calculate a [`Member`]'s permissions in the guild.
187-
#[must_use]
188-
#[deprecated = "Use PartialGuild::member_permissions_in, as this doesn't consider permission overwrites"]
189-
pub fn member_permissions(&self, member: &Member) -> Permissions {
190-
Guild::user_permissions_in_(
191-
None,
192-
member.user.id,
193-
&member.roles,
194-
self.id,
195-
&self.roles,
196-
self.owner_id,
197-
)
198-
}
199-
200-
/// Calculate a [`PartialMember`]'s permissions in the guild.
201-
///
202-
/// # Panics
203-
///
204-
/// Panics if the passed [`UserId`] does not match the [`PartialMember`] id, if user is Some.
205-
#[must_use]
206-
#[deprecated = "Use PartialGuild::partial_member_permissions_in, as this doesn't consider permission overwrites"]
207-
pub fn partial_member_permissions(
208-
&self,
209-
member_id: UserId,
210-
member: &PartialMember,
211-
) -> Permissions {
212-
if let Some(user) = &member.user {
213-
assert_eq!(user.id, member_id, "User::id does not match provided PartialMember");
214-
}
215-
216-
Guild::user_permissions_in_(
217-
None,
218-
member_id,
219-
&member.roles,
220-
self.id,
221-
&self.roles,
222-
self.owner_id,
223-
)
224-
}
225-
226186
/// Gets the highest role a [`Member`] of this Guild has.
227187
///
228188
/// Returns None if the member has no roles or the member from this guild.
@@ -266,7 +226,7 @@ impl PartialGuild {
266226
}
267227

268228
Guild::user_permissions_in_(
269-
Some(channel),
229+
channel,
270230
member_id,
271231
&member.roles,
272232
self.id,
@@ -291,7 +251,7 @@ impl PartialGuild {
291251
#[must_use]
292252
pub fn user_permissions_in(&self, channel: &GuildChannel, member: &Member) -> Permissions {
293253
Guild::user_permissions_in_(
294-
Some(channel),
254+
channel,
295255
member.user.id,
296256
&member.roles,
297257
self.id,

0 commit comments

Comments
 (0)