Skip to content

Commit bd2a47c

Browse files
Add cmab uuid to metadata
1 parent 0d761c9 commit bd2a47c

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

Sources/Data Model/DispatchEvents/BatchEvent.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,15 @@ struct DecisionMetadata: Codable, Equatable {
8585
let flagKey: String
8686
let variationKey: String
8787
let enabled: Bool
88+
var cmabUUID: String?
8889

8990
enum CodingKeys: String, CodingKey {
9091
case ruleType = "rule_type"
9192
case ruleKey = "rule_key"
9293
case flagKey = "flag_key"
9394
case variationKey = "variation_key"
9495
case enabled = "enabled"
96+
case cmabUUID = "cmab_uuid"
9597
}
9698
}
9799

Sources/Implementation/Events/BatchEventBuilder.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ class BatchEventBuilder {
2828
attributes: OptimizelyAttributes?,
2929
flagKey: String,
3030
ruleType: String,
31-
enabled: Bool) -> Data? {
31+
enabled: Bool,
32+
cmabUUID: String?) -> Data? {
3233

33-
let metaData = DecisionMetadata(ruleType: ruleType, ruleKey: experiment?.key ?? "", flagKey: flagKey, variationKey: variation?.key ?? "", enabled: enabled)
34+
let metaData = DecisionMetadata(ruleType: ruleType, ruleKey: experiment?.key ?? "", flagKey: flagKey, variationKey: variation?.key ?? "", enabled: enabled, cmabUUID: cmabUUID)
3435

3536
let decision = Decision(variationID: variation?.id ?? "",
3637
campaignID: experiment?.layerId ?? "",

Sources/Optimizely+Decide/OptimizelyClient+Decide.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,8 @@ extension OptimizelyClient {
275275
attributes: attributes,
276276
flagKey: feature.key,
277277
ruleType: ruleType,
278-
enabled: flagEnabled)
278+
enabled: flagEnabled,
279+
cmabUUID: flagDecision?.cmabUUID)
279280
decisionEventDispatched = true
280281
}
281282
}

Sources/Optimizely/OptimizelyClient.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,8 @@ open class OptimizelyClient: NSObject {
318318
attributes: attributes,
319319
flagKey: "",
320320
ruleType: Constants.DecisionSource.experiment.rawValue,
321-
enabled: true)
321+
enabled: true,
322+
cmabUUID: nil)
322323

323324
return variation.key
324325
}
@@ -452,7 +453,8 @@ open class OptimizelyClient: NSObject {
452453
attributes: attributes,
453454
flagKey: featureKey,
454455
ruleType: source,
455-
enabled: featureEnabled)
456+
enabled: featureEnabled,
457+
cmabUUID: pair?.cmabUUID)
456458
}
457459

458460
sendDecisionNotification(userId: userId,
@@ -817,7 +819,8 @@ extension OptimizelyClient {
817819
attributes: OptimizelyAttributes? = nil,
818820
flagKey: String,
819821
ruleType: String,
820-
enabled: Bool) {
822+
enabled: Bool,
823+
cmabUUID: String?) {
821824

822825
// non-blocking (event data serialization takes time)
823826
eventLock.async {
@@ -830,7 +833,8 @@ extension OptimizelyClient {
830833
attributes: attributes,
831834
flagKey: flagKey,
832835
ruleType: ruleType,
833-
enabled: enabled) else {
836+
enabled: enabled,
837+
cmabUUID: cmabUUID) else {
834838
self.logger.e(OptimizelyError.eventBuildFailure(DispatchEvent.activateEventKey))
835839
return
836840
}

0 commit comments

Comments
 (0)