You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SessionMessagingKit/Sending & Receiving/Notifications/Types/PushNotificationAPIEndpoint...

42 lines
1.4 KiB
Swift

// Copyright © 2023 Rangeproof Pty Ltd. All rights reserved.
import Foundation
public extension PushNotificationAPI {
enum Endpoint: String {
case subscribe = "subscribe"
case unsubscribe = "unsubscribe"
// MARK: - Legacy Endpoints
case legacyNotify = "notify"
case legacyRegister = "register"
case legacyUnregister = "unregister"
case legacyGroupsOnlySubscribe = "register_legacy_groups_only"
case legacyGroupSubscribe = "subscribe_closed_group"
case legacyGroupUnsubscribe = "unsubscribe_closed_group"
// MARK: - Convenience
var server: String {
switch self {
case .legacyNotify, .legacyRegister, .legacyUnregister,
.legacyGroupsOnlySubscribe, .legacyGroupSubscribe, .legacyGroupUnsubscribe:
return PushNotificationAPI.legacyServer
default: return PushNotificationAPI.server
}
}
var serverPublicKey: String {
switch self {
case .legacyNotify, .legacyRegister, .legacyUnregister,
.legacyGroupsOnlySubscribe, .legacyGroupSubscribe, .legacyGroupUnsubscribe:
return PushNotificationAPI.legacyServerPublicKey
default: return PushNotificationAPI.serverPublicKey
}
}
}
}