quality : move canUnban logic to the permission class
This commit is contained in:
@@ -13,6 +13,9 @@ data class RoomMemberModerationPermissions(
|
||||
val canKick: Boolean,
|
||||
val canBan: Boolean,
|
||||
) {
|
||||
// Unban requires both kick and ban permission instead of a dedicated unban permission
|
||||
val canUnban = canBan && canKick
|
||||
|
||||
companion object {
|
||||
val DEFAULT = RoomMemberModerationPermissions(
|
||||
canKick = false,
|
||||
|
||||
@@ -163,8 +163,7 @@ class RoomMemberModerationPresenter(
|
||||
val membership = member?.membership ?: RoomMembershipState.JOIN
|
||||
when (membership) {
|
||||
RoomMembershipState.BAN -> {
|
||||
// Unban requires both kick and ban permission instead of a dedicated unban permission
|
||||
if (permissions.canBan && permissions.canKick) {
|
||||
if (permissions.canUnban) {
|
||||
add(ModerationActionState(action = ModerationAction.UnbanUser, isEnabled = canModerateThisUser))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user