blob: 698a2d2f35316d61b0cd7b45fa830b65e449298e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import Foundation
enum PremiumAccessService {
static let freeTrackedDomainLimit = 3
static func hasAccess(to capability: PremiumCapability) -> Bool {
switch capability {
case .unlimitedTrackedDomains,
.automatedMonitoring,
.pushAlerts,
.batchTracking,
.advancedExports:
return false
}
}
static func trackedDomainLimitMessage(currentCount: Int) -> String? {
guard currentCount >= freeTrackedDomainLimit, !hasAccess(to: .unlimitedTrackedDomains) else {
return nil
}
return "More tracked domains will be available in a future Pro upgrade."
}
static func canAddTrackedDomain(currentCount: Int) -> Bool {
hasAccess(to: .unlimitedTrackedDomains) || currentCount < freeTrackedDomainLimit
}
}
|