26 lines
1.2 KiB
Swift
26 lines
1.2 KiB
Swift
//
|
|
// Copyright 2021 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
|
|
@objc
|
|
public protocol SubscriptionManager {
|
|
func reconcileBadgeStates(transaction: SDSAnyWriteTransaction)
|
|
func hasCurrentSubscription(transaction: SDSAnyReadTransaction) -> Bool
|
|
func timeSinceLastSubscriptionExpiration(transaction: SDSAnyReadTransaction) -> TimeInterval
|
|
|
|
func userManuallyCancelledSubscription(transaction: SDSAnyReadTransaction) -> Bool
|
|
func setUserManuallyCancelledSubscription(_ userCancelled: Bool, updateStorageService: Bool, transaction: SDSAnyWriteTransaction)
|
|
var displayBadgesOnProfile: Bool { get }
|
|
func displayBadgesOnProfile(transaction: SDSAnyReadTransaction) -> Bool
|
|
func setDisplayBadgesOnProfile(_ displayBadgesOnProfile: Bool, updateStorageService: Bool, transaction: SDSAnyWriteTransaction)
|
|
|
|
func getSubscriberCurrencyCode(transaction: SDSAnyReadTransaction) -> String?
|
|
func setSubscriberCurrencyCode(_ currencyCode: Currency.Code?, transaction: SDSAnyWriteTransaction)
|
|
|
|
func getSubscriberID(transaction: SDSAnyReadTransaction) -> Data?
|
|
func setSubscriberID(_ subscriberID: Data?, transaction: SDSAnyWriteTransaction)
|
|
}
|