mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
add NSE sources to EX project to easily implement mocking and allow the code to be unit tested
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// Copyright 2025 Element Creations Ltd.
|
||||
// Copyright 2022-2025 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import MatrixRustSDK
|
||||
import UserNotifications
|
||||
|
||||
// sourcery: AutoMockable
|
||||
protocol NotificationItemProxyProtocol {
|
||||
var event: NotificationEvent? { get }
|
||||
|
||||
var senderID: String { get }
|
||||
|
||||
var roomID: String { get }
|
||||
|
||||
var receiverID: String { get }
|
||||
|
||||
var senderDisplayName: String? { get }
|
||||
|
||||
var senderAvatarMediaSource: MediaSourceProxy? { get }
|
||||
|
||||
var roomDisplayName: String { get }
|
||||
|
||||
var roomAvatarMediaSource: MediaSourceProxy? { get }
|
||||
|
||||
var roomJoinedMembers: Int { get }
|
||||
|
||||
var isRoomDirect: Bool { get }
|
||||
|
||||
var isRoomPrivate: Bool { get }
|
||||
|
||||
var isNoisy: Bool { get }
|
||||
|
||||
var hasMention: Bool { get }
|
||||
|
||||
var threadRootEventID: String? { get }
|
||||
}
|
||||
|
||||
extension NotificationItemProxyProtocol {
|
||||
var isDM: Bool {
|
||||
isRoomDirect && roomJoinedMembers <= 2
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user