Signal-iOS/SignalServiceKit/Protocols/SubscriptionManager.swift
2024-04-11 16:24:01 -05:00

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)
}