summaryrefslogtreecommitdiff
path: root/DomainDig/FeatureAccessService.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-22 13:47:37 -0500
committerChristian Cleberg <[email protected]>2026-04-22 13:47:37 -0500
commit6c23daaaba2a954220ece2afa7193dbdcad55c22 (patch)
treefebfca71eba8a025374d993e7a39fdb13194af25 /DomainDig/FeatureAccessService.swift
parentdcf4135ec376d357b8fafc0101a75b674e76329a (diff)
downloaddomain-dig-6c23daaaba2a954220ece2afa7193dbdcad55c22.tar.gz
domain-dig-6c23daaaba2a954220ece2afa7193dbdcad55c22.tar.bz2
domain-dig-6c23daaaba2a954220ece2afa7193dbdcad55c22.zip
feat(v3.2.0): add Data+ tier and external data integrations
- introduce Data+ tier for advanced data features - add ownership history and DNS history - expand subdomain discovery with external sources - add domain pricing insights - implement local usage/credit system - integrate external data service layer with rate limiting - extend export and CLI for Data+ features
Diffstat (limited to 'DomainDig/FeatureAccessService.swift')
-rw-r--r--DomainDig/FeatureAccessService.swift16
1 files changed, 13 insertions, 3 deletions
diff --git a/DomainDig/FeatureAccessService.swift b/DomainDig/FeatureAccessService.swift
index d23f348..535ba7c 100644
--- a/DomainDig/FeatureAccessService.swift
+++ b/DomainDig/FeatureAccessService.swift
@@ -29,6 +29,7 @@ enum FeatureCapability: String, CaseIterable, Identifiable {
case ownershipHistory
case dnsHistory
case extendedSubdomains
+ case domainPricing
var id: String { rawValue }
@@ -52,6 +53,8 @@ enum FeatureCapability: String, CaseIterable, Identifiable {
return "DNS history"
case .extendedSubdomains:
return "Extended subdomains"
+ case .domainPricing:
+ return "Domain pricing"
}
}
}
@@ -139,7 +142,7 @@ enum FeatureAccessService {
switch capability {
case .workflows, .batchOperations, .advancedExports:
return "Available in Pro"
- case .ownershipHistory, .dnsHistory, .extendedSubdomains:
+ case .ownershipHistory, .dnsHistory, .extendedSubdomains, .domainPricing:
return "Available in Data+"
case .limitedTracking:
return "Tracking is limited on Free"
@@ -199,8 +202,15 @@ enum FeatureAccessService {
}
static func upgradePrompt(for capability: FeatureCapability) -> UpgradePromptContext {
- UpgradePromptContext(
- title: "Available in Pro",
+ let title: String
+ switch capability {
+ case .ownershipHistory, .dnsHistory, .extendedSubdomains, .domainPricing:
+ title = "Available in Data+"
+ default:
+ title = "Available in Pro"
+ }
+ return UpgradePromptContext(
+ title: title,
message: upgradeMessage(for: capability),
capability: capability
)