Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SP-7394] Move campaignEnv to the top level request body #317

Merged
merged 2 commits into from
Jul 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions ConsentViewController/Classes/SPCampaigns.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,11 @@ public typealias SPTargetingParams = [String: String]

/// Contains information about the property/campaign.
@objcMembers public class SPCampaign: NSObject {
let environment: SPCampaignEnv
let targetingParams: SPTargetingParams

public init(
environment: SPCampaignEnv = .Public,
targetingParams: SPTargetingParams = [:]
) {
self.environment = environment
self.targetingParams = targetingParams
}
}
Expand Down
6 changes: 4 additions & 2 deletions ConsentViewController/Classes/SPConsentManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,20 +46,22 @@ import Foundation
}
}

public convenience init(accountId: Int, propertyName: SPPropertyName, campaigns: SPCampaigns, delegate: SPDelegate?) {
public convenience init(accountId: Int, propertyName: SPPropertyName, campaignsEnv: SPCampaignEnv = .Public, campaigns: SPCampaigns, delegate: SPDelegate?) {
self.init(
accountId: accountId,
propertyName: propertyName,
campaignsEnv: campaignsEnv,
campaigns: campaigns,
delegate: delegate,
spClient: SourcePointClient(accountId: accountId, propertyName: propertyName, timeout: SPConsentManager.DefaultTimeout),
spClient: SourcePointClient(accountId: accountId, propertyName: propertyName, campaignEnv: campaignsEnv, timeout: SPConsentManager.DefaultTimeout),
storage: SPUserDefaults(storage: UserDefaults.standard)
)
}

init(
accountId: Int,
propertyName: SPPropertyName,
campaignsEnv: SPCampaignEnv,
campaigns: SPCampaigns,
delegate: SPDelegate?,
spClient: SourcePointProtocol,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import Foundation

struct CampaignRequest: Encodable, Equatable {
let campaignEnv: SPCampaignEnv
let targetingParams: SPTargetingParams
}

Expand All @@ -18,7 +17,6 @@ struct CampaignsRequest: Equatable, Encodable {
static func spCampaignToRequest(_ campaign: SPCampaign?) -> CampaignRequest? {
guard let campaign = campaign else { return nil }
return CampaignRequest(
campaignEnv: campaign.environment,
targetingParams: campaign.targetingParams
)
}
Expand All @@ -37,6 +35,7 @@ struct MessageRequest: Equatable, Encodable {
let requestUUID: UUID
let propertyHref: SPPropertyName
let accountId: Int
let campaignEnv: SPCampaignEnv
let idfaStatus: SPIDFAStatus
let localState: SPJson
let consentLanguage: SPMessageLanguage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ typealias ConsentHandler<T: Decodable & Equatable> = (Result<(SPJson, T), SPErro
typealias CustomConsentHandler = (Result<CustomConsentResponse, SPError>) -> Void

protocol SourcePointProtocol {
init(accountId: Int, propertyName: SPPropertyName, timeout: TimeInterval)
init(accountId: Int, propertyName: SPPropertyName, campaignEnv: SPCampaignEnv, timeout: TimeInterval)

func getMessages(
campaigns: SPCampaigns,
Expand Down Expand Up @@ -125,20 +125,23 @@ class SourcePointClient: SourcePointProtocol {

let accountId: Int
let propertyName: SPPropertyName
let campaignEnv: SPCampaignEnv
var client: HttpClient

let requestUUID = UUID()

init(accountId: Int, propertyName: SPPropertyName, client: HttpClient) {
init(accountId: Int, propertyName: SPPropertyName, campaignEnv: SPCampaignEnv, client: HttpClient) {
self.accountId = accountId
self.propertyName = propertyName
self.campaignEnv = campaignEnv
self.client = client
}

required convenience init(accountId: Int, propertyName: SPPropertyName, timeout: TimeInterval) {
required convenience init(accountId: Int, propertyName: SPPropertyName, campaignEnv: SPCampaignEnv, timeout: TimeInterval) {
self.init(
accountId: accountId,
propertyName: propertyName,
campaignEnv: campaignEnv,
client: SimpleClient(timeoutAfter: timeout))
}

Expand All @@ -158,6 +161,7 @@ class SourcePointClient: SourcePointProtocol {
requestUUID: requestUUID,
propertyHref: propertyName,
accountId: accountId,
campaignEnv: campaignEnv,
idfaStatus: idfaStaus,
localState: localState,
consentLanguage: consentLanguage,
Expand Down