[Customer Center] Initial implementation (#3967)

Alpha of the Customer Center. In this branch, it's been disabled behind
a compilation flag.

---------

Co-authored-by: Will Taylor <wtaylor151@gmail.com>
Co-authored-by: James Borthwick <109382862+jamesrb1@users.noreply.github.com>
Co-authored-by: RevenueCat Git Bot <72824662+RCGitBot@users.noreply.github.com>
Co-authored-by: JayShortway <29483617+JayShortway@users.noreply.github.com>
Co-authored-by: Toni Rico <toni.rico.diez@revenuecat.com>
Co-authored-by: Toni Rico <antonio.rico.diez@revenuecat.com>
Co-authored-by: Cody Kerns <44073103+codykerns@users.noreply.github.com>
Co-authored-by: Andy Boedo <andresboedo@gmail.com>
This commit is contained in:
133 files changed
+7997 -35

No files matched your search

@@ -70,6 +70,7 @@ extension HTTPRequest {
case postAdServicesToken(appUserID: String)
case health
case getProductEntitlementMapping
case getCustomerCenterConfig(appUserID: String)
}
@@ -102,7 +103,8 @@ extension HTTPRequest.Path: HTTPRequestPath {
.postReceiptData,
.postSubscriberAttributes,
.postAdServicesToken,
.getProductEntitlementMapping:
.getProductEntitlementMapping,
.getCustomerCenterConfig:
return true
case .health:
@@ -121,7 +123,8 @@ extension HTTPRequest.Path: HTTPRequestPath {
.postReceiptData,
.postSubscriberAttributes,
.postAdServicesToken,
.getProductEntitlementMapping:
.getProductEntitlementMapping,
.getCustomerCenterConfig:
return true
case .health:
return false
@@ -141,7 +144,8 @@ extension HTTPRequest.Path: HTTPRequestPath {
.postSubscriberAttributes,
.postAttributionData,
.postAdServicesToken,
.postOfferForSigning:
.postOfferForSigning,
.getCustomerCenterConfig:
return false
}
}
@@ -159,7 +163,8 @@ extension HTTPRequest.Path: HTTPRequestPath {
.postAttributionData,
.postAdServicesToken,
.postOfferForSigning,
.getProductEntitlementMapping:
.getProductEntitlementMapping,
.getCustomerCenterConfig:
return false
}
}
@@ -199,6 +204,9 @@ extension HTTPRequest.Path: HTTPRequestPath {
case .getProductEntitlementMapping:
return "product_entitlement_mapping"
case let .getCustomerCenterConfig(appUserID):
return "customercenter/\(Self.escape(appUserID))"
}
}
@@ -237,6 +245,9 @@ extension HTTPRequest.Path: HTTPRequestPath {
case .getProductEntitlementMapping:
return "get_product_entitlement_mapping"
case .getCustomerCenterConfig:
return "customer_center"
}
}