diff options
Diffstat (limited to 'DomainDig/PremiumAccessService.swift')
| -rw-r--r-- | DomainDig/PremiumAccessService.swift | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/DomainDig/PremiumAccessService.swift b/DomainDig/PremiumAccessService.swift new file mode 100644 index 0000000..698a2d2 --- /dev/null +++ b/DomainDig/PremiumAccessService.swift @@ -0,0 +1,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 + } +} |
