diff --git a/lib/pangea/activity_planner/activity_plan_request.dart b/lib/pangea/activity_planner/activity_plan_request.dart index 9d095bdda..7787eefcb 100644 --- a/lib/pangea/activity_planner/activity_plan_request.dart +++ b/lib/pangea/activity_planner/activity_plan_request.dart @@ -30,7 +30,7 @@ class ActivityPlanRequest { 'mode': mode, 'objective': objective, 'media': media.string, - 'cefr_level': cefrLevel, + 'activity_cefr_level': cefrLevel, 'language_of_instructions': languageOfInstructions, 'target_language': targetLanguage, 'count': count, @@ -38,43 +38,21 @@ class ActivityPlanRequest { }; } - factory ActivityPlanRequest.fromJson(Map json) { - LanguageLevelTypeEnum cefrLevel = LanguageLevelTypeEnum.a1; - switch (json['cefr_level']) { - case 'Pre-A1': - cefrLevel = LanguageLevelTypeEnum.preA1; - break; - case 'A1': - cefrLevel = LanguageLevelTypeEnum.a1; - break; - case 'A2': - cefrLevel = LanguageLevelTypeEnum.a2; - break; - case 'B1': - cefrLevel = LanguageLevelTypeEnum.b1; - break; - case 'B2': - cefrLevel = LanguageLevelTypeEnum.b2; - break; - case 'C1': - cefrLevel = LanguageLevelTypeEnum.c1; - break; - case 'C2': - cefrLevel = LanguageLevelTypeEnum.c2; - break; - } - return ActivityPlanRequest( - topic: json['topic'], - mode: json['mode'], - objective: json['objective'], - media: MediaEnum.nan.fromString(json['media']), - cefrLevel: cefrLevel, - languageOfInstructions: json['language_of_instructions'], - targetLanguage: json['target_language'], - count: json['count'], - numberOfParticipants: json['number_of_participants'], - ); - } + factory ActivityPlanRequest.fromJson(Map json) => + ActivityPlanRequest( + topic: json['topic'], + mode: json['mode'], + objective: json['objective'], + media: MediaEnum.nan.fromString(json['media']), + cefrLevel: json['activity_cefr_level'] != null + ? LanguageLevelTypeEnumExtension.fromString( + json['activity_cefr_level']) + : LanguageLevelTypeEnum.a1, + languageOfInstructions: json['language_of_instructions'], + targetLanguage: json['target_language'], + count: json['count'], + numberOfParticipants: json['number_of_participants'], + ); String get storageKey => '$topic-$mode-$objective-${media.string}-$cefrLevel-$languageOfInstructions-$targetLanguage-$numberOfParticipants';