getFlagModification method

  1. @override
Modification? getFlagModification(
  1. String key
)
override

Implementation

@override
Modification? getFlagModification(String key) {
  // First check if this flag belongs to a hidden campaign
  final visitorMod = super.getFlagModification(key);

  print('🔍 getFlagModification called for key: $key');
  print('   hiddenCampaigns: $hiddenCampaigns');
  print('   visitorMod campaignId: ${visitorMod?.campaignId}');

  if (visitorMod != null && hiddenCampaigns.contains(visitorMod.campaignId)) {
    print(
        '🚫 QA Override: Flag "$key" belongs to hidden campaign ${visitorMod.campaignId}, returning null (default value)');
    return null;
  }

  // Then check for QA forced modifications
  if (qaaModifications.containsKey(key)) {
    print('🎯 QA Override: Using QA modification for key: $key');
    return qaaModifications[key];
  }

  // Finally return visitor modification (production value)
  print(
      '📦 Visitor: Using visitor modification for key: $key, value: ${visitorMod?.value}');
  return visitorMod;
}