ModificationMessage.fromJson constructor
Create from JSON (expects the new format with campaignId as key)
Implementation
factory ModificationMessage.fromJson(Map<String, dynamic> json) {
// Extract the first key which should be the campaignId
final campaignKey = json.keys.first;
final campaignData = json[campaignKey] as Map<String, dynamic>;
final variationData = campaignData['variation'] as Map<String, dynamic>;
final modificationsData =
variationData['modifications'] as Map<String, dynamic>;
final flagValue = modificationsData['value'] as Map<String, dynamic>;
return ModificationMessage(
campaignId: campaignData['campaignId'] ?? campaignKey,
campaignName: campaignData['campaignName'] ?? '',
campaignType: campaignData['campaignType'] ?? '',
campaignSlug: campaignData['CampaignSlug'],
variationGroupId: campaignData['variationGroupId'] ?? '',
variationGroupName: campaignData['variationGroupName'] ?? '',
variation: VariationInfo(
id: variationData['id'] ?? '',
name: variationData['name'] ?? '',
reference: variationData['reference'] ?? false,
modifications: flagValue,
),
);
}