misc(power level) : expose RoomMemberModerationPermissions after PR review

This commit is contained in:
ganfra 2025-12-12 18:09:06 +01:00
parent 5c8fd831e3
commit 0476cbd4d9
9 changed files with 52 additions and 30 deletions

View file

@ -0,0 +1,29 @@
/*
* Copyright (c) 2025 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.roommembermoderation.api
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPermissions
data class RoomMemberModerationPermissions(
val canKick: Boolean,
val canBan: Boolean,
) {
companion object {
val DEFAULT = RoomMemberModerationPermissions(
canKick = false,
canBan = false,
)
}
}
fun RoomPermissions.roomMemberModerationPermissions(): RoomMemberModerationPermissions {
return RoomMemberModerationPermissions(
canKick = canOwnUserKick(),
canBan = canOwnUserBan(),
)
}

View file

@ -12,8 +12,7 @@ import androidx.compose.runtime.Immutable
@Immutable
interface RoomMemberModerationState {
val canKick: Boolean
val canBan: Boolean
val permissions: RoomMemberModerationPermissions
val eventSink: (RoomMemberModerationEvents) -> Unit
}