* New LICENSE-COMMERCIAL file * Apply dual licenses: AGPL + Element Commercial to file headers * Update README with dual licensing
40 lines
999 B
Swift
40 lines
999 B
Swift
//
|
|
// Copyright 2023, 2024 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
|
|
|
|
enum RoomNotificationModeProxy: String, CaseIterable {
|
|
case allMessages
|
|
case mentionsAndKeywordsOnly
|
|
case mute
|
|
}
|
|
|
|
extension RoomNotificationModeProxy {
|
|
static func from(roomNotificationMode: RoomNotificationMode) -> Self {
|
|
switch roomNotificationMode {
|
|
case .allMessages:
|
|
return .allMessages
|
|
case .mentionsAndKeywordsOnly:
|
|
return .mentionsAndKeywordsOnly
|
|
case .mute:
|
|
return .mute
|
|
}
|
|
}
|
|
|
|
var roomNotificationMode: RoomNotificationMode {
|
|
switch self {
|
|
case .allMessages:
|
|
return .allMessages
|
|
case .mentionsAndKeywordsOnly:
|
|
return .mentionsAndKeywordsOnly
|
|
case .mute:
|
|
return .mute
|
|
}
|
|
}
|
|
}
|