mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 23:18:27 +02:00
replaced deprecated function with the new one to check for power levels
This commit is contained in:
@@ -158,8 +158,9 @@ final class LocationSharingCoordinator: Coordinator, Presentable {
|
||||
// Check if user can send beacon info state event
|
||||
private func canShareLiveLocation() -> Bool {
|
||||
guard let myUserId = parameters.roomDataSource.mxSession.myUserId,
|
||||
let roomPowerLevels = parameters.roomDataSource.roomState.powerLevels,
|
||||
let userPowerLevel = RoomPowerLevel(rawValue: roomPowerLevels.powerLevelOfUser(withUserID: myUserId)) else {
|
||||
let roomState = parameters.roomDataSource.roomState,
|
||||
let roomPowerLevels = roomState.powerLevels,
|
||||
let userPowerLevel = RoomPowerLevel(rawValue: roomState.powerLevelOfUser(withUserID: myUserId)) else {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
@@ -162,8 +162,10 @@ private class CompletionSuggestionCoordinatorRoomMemberProvider: RoomMembersProv
|
||||
/// Gets the power levels for the room to update suggestions accordingly.
|
||||
func updateWithPowerLevels() {
|
||||
room.state { [weak self] state in
|
||||
guard let self, let powerLevels = state?.powerLevels else { return }
|
||||
let userPowerLevel = powerLevels.powerLevelOfUser(withUserID: self.userID)
|
||||
guard let self,
|
||||
let state,
|
||||
let powerLevels = state.powerLevels else { return }
|
||||
let userPowerLevel = state.powerLevelOfUser(withUserID: self.userID)
|
||||
let mentionRoomPowerLevel = powerLevels.minimumPowerLevel(forNotifications: kMXRoomPowerLevelNotificationsRoomKey,
|
||||
defaultPower: kMXRoomPowerLevelNotificationsRoomDefault)
|
||||
self.canMentionRoom = userPowerLevel >= mentionRoomPowerLevel
|
||||
@@ -208,9 +210,11 @@ private class CompletionSuggestionCoordinatorCommandProvider: CommandsProviderPr
|
||||
|
||||
func updateWithPowerLevels() {
|
||||
room.state { [weak self] state in
|
||||
guard let self, let powerLevels = state?.powerLevels else { return }
|
||||
guard let self,
|
||||
let state,
|
||||
let powerLevels = state.powerLevels else { return }
|
||||
|
||||
let userPowerLevel = powerLevels.powerLevelOfUser(withUserID: self.userID)
|
||||
let userPowerLevel = state.powerLevelOfUser(withUserID: self.userID)
|
||||
self.isRoomAdmin = RoomPowerLevel(rawValue: userPowerLevel) == .admin
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,12 +150,12 @@ class SpaceSettingsService: SpaceSettingsServiceProtocol {
|
||||
return allowedParentIds
|
||||
}
|
||||
|
||||
private func isField(ofType notification: String, editableWith powerLevels: MXRoomPowerLevels?) -> Bool {
|
||||
guard let powerLevels = powerLevels else {
|
||||
private func isField(ofType notification: String, editableWith roomState: MXRoomState) -> Bool {
|
||||
guard let powerLevels = roomState.powerLevels else {
|
||||
return false
|
||||
}
|
||||
|
||||
let userPowerLevel = powerLevels.powerLevelOfUser(withUserID: session.myUserId)
|
||||
let userPowerLevel = roomState.powerLevelOfUser(withUserID: session.myUserId)
|
||||
return userPowerLevel >= powerLevels.minimumPowerLevel(forNotifications: notification, defaultPower: powerLevels.stateDefault)
|
||||
}
|
||||
|
||||
@@ -226,11 +226,11 @@ class SpaceSettingsService: SpaceSettingsServiceProtocol {
|
||||
avatarUrl: roomState.avatar,
|
||||
visibility: visibility(with: roomState),
|
||||
allowedParentIds: allowedParentIds(with: roomState),
|
||||
isAvatarEditable: isField(ofType: kMXEventTypeStringRoomAvatar, editableWith: roomState.powerLevels),
|
||||
isNameEditable: isField(ofType: kMXEventTypeStringRoomName, editableWith: roomState.powerLevels),
|
||||
isTopicEditable: isField(ofType: kMXEventTypeStringRoomTopic, editableWith: roomState.powerLevels),
|
||||
isAddressEditable: isField(ofType: kMXEventTypeStringRoomAliases, editableWith: roomState.powerLevels),
|
||||
isAccessEditable: isField(ofType: kMXEventTypeStringRoomJoinRules, editableWith: roomState.powerLevels)
|
||||
isAvatarEditable: isField(ofType: kMXEventTypeStringRoomAvatar, editableWith: roomState),
|
||||
isNameEditable: isField(ofType: kMXEventTypeStringRoomName, editableWith: roomState),
|
||||
isTopicEditable: isField(ofType: kMXEventTypeStringRoomTopic, editableWith: roomState),
|
||||
isAddressEditable: isField(ofType: kMXEventTypeStringRoomAliases, editableWith: roomState),
|
||||
isAccessEditable: isField(ofType: kMXEventTypeStringRoomJoinRules, editableWith: roomState)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user