Make the room power levels optional as they can be missing depending on what state events are requested

This commit is contained in:
Stefan Ceriu
2025-06-25 12:35:04 +03:00
committed by Stefan Ceriu
parent c7ff6c019d
commit de723853e3
16 changed files with 65 additions and 45 deletions
@@ -10,7 +10,11 @@ import MatrixRustSDK
struct RoomPowerLevelsProxy: RoomPowerLevelsProxyProtocol {
private let powerLevels: RoomPowerLevels
init(_ powerLevels: RoomPowerLevels) {
init?(_ powerLevels: RoomPowerLevels?) {
guard let powerLevels else {
return nil
}
self.powerLevels = powerLevels
}
@@ -18,6 +22,10 @@ struct RoomPowerLevelsProxy: RoomPowerLevelsProxyProtocol {
powerLevels.values()
}
var userPowerLevels: [String: Int64] {
powerLevels.userPowerLevels()
}
func canOwnUser(sendMessage messageType: MessageLikeEventType) -> Bool {
powerLevels.canOwnUserSendMessage(message: messageType)
}