mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 19:44:05 +00:00
Fixes #2320 - Implement support for (un)marking rooms as favourite from the room list and room detail screens
This commit is contained in:
@@ -32,13 +32,14 @@ enum RoomProxyError: Error, Equatable {
|
||||
case failedUploadingAvatar
|
||||
case failedCheckingPermission
|
||||
case failedFlaggingAsUnread
|
||||
case failedFlaggingAsRead
|
||||
case failedMarkingAsRead
|
||||
case failedSendingTypingNotice
|
||||
case failedRetrievingIsFavourite
|
||||
case failedFlaggingAsFavourite
|
||||
}
|
||||
|
||||
enum RoomProxyAction {
|
||||
case stateUpdate
|
||||
case roomInfoUpdate
|
||||
}
|
||||
|
||||
// sourcery: AutoMockable
|
||||
@@ -48,6 +49,7 @@ protocol RoomProxyProtocol {
|
||||
var isPublic: Bool { get }
|
||||
var isSpace: Bool { get }
|
||||
var isEncrypted: Bool { get }
|
||||
var isFavourite: Bool { get async }
|
||||
var membership: Membership { get }
|
||||
var hasOngoingCall: Bool { get }
|
||||
var canonicalAlias: String? { get }
|
||||
@@ -109,15 +111,17 @@ protocol RoomProxyProtocol {
|
||||
|
||||
func canUserTriggerRoomNotification(userID: String) async -> Result<Bool, RoomProxyError>
|
||||
|
||||
func flagAsUnread() async -> Result<Void, RoomProxyError>
|
||||
|
||||
func flagAsRead() async -> Result<Void, RoomProxyError>
|
||||
|
||||
func markAsRead(receiptType: ReceiptType) async -> Result<Void, RoomProxyError>
|
||||
|
||||
/// https://spec.matrix.org/v1.9/client-server-api/#typing-notifications
|
||||
@discardableResult func sendTypingNotification(isTyping: Bool) async -> Result<Void, RoomProxyError>
|
||||
|
||||
// MARK: - Room Flags
|
||||
|
||||
func flagAsUnread(_ isUnread: Bool) async -> Result<Void, RoomProxyError>
|
||||
|
||||
func flagAsFavourite(_ isFavourite: Bool) async -> Result<Void, RoomProxyError>
|
||||
|
||||
// MARK: - Element Call
|
||||
|
||||
func canUserJoinCall(userID: String) async -> Result<Bool, RoomProxyError>
|
||||
|
||||
Reference in New Issue
Block a user