oncall-mobile-ios/ntfy/Persistence/SubscriptionManager.swift
2022-05-19 22:46:41 -04:00

23 lines
766 B
Swift

import Foundation
import FirebaseMessaging
struct SubscriptionManager {
private let tag = "Store"
var store: Store
func subscribe(baseUrl: String, topic: String) {
Log.d(tag, "Subscribing to \(topicUrl(baseUrl: appBaseUrl, topic: topic))")
Messaging.messaging().subscribe(toTopic: topic)
store.saveSubscription(baseUrl: baseUrl, topic: topic)
}
func unsubscribe(_ subscription: Subscription) {
Log.d(tag, "Unsubscribing from \(subscription.urlString())")
DispatchQueue.main.async {
if let topic = subscription.topic {
Messaging.messaging().unsubscribe(fromTopic: topic)
}
store.deleteSubscription(subscription: subscription)
}
}
}