From 5d5b35b4eb93aac536b4f7591f42e0749a107680 Mon Sep 17 00:00:00 2001 From: William Jordan-Cooley Date: Thu, 13 Jun 2024 12:43:29 -0400 Subject: [PATCH] switch to enum for construct type --- .../practice_activity_generation_controller.dart | 2 +- .../practice_activity_model.dart | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/pangea/controllers/practice_activity_generation_controller.dart b/lib/pangea/controllers/practice_activity_generation_controller.dart index 403e22d4f..fdd6da4fa 100644 --- a/lib/pangea/controllers/practice_activity_generation_controller.dart +++ b/lib/pangea/controllers/practice_activity_generation_controller.dart @@ -87,7 +87,7 @@ class PracticeGenerationController { PracticeActivityModel dummyModel(PangeaMessageEvent event) => PracticeActivityModel( tgtConstructs: [ - ConstructIdentifier(lemma: "be", type: ConstructType.vocab.string), + ConstructIdentifier(lemma: "be", type: ConstructType.vocab), ], activityType: ActivityType.multipleChoice, langCode: event.messageDisplayLangCode, diff --git a/lib/pangea/models/practice_activities.dart/practice_activity_model.dart b/lib/pangea/models/practice_activities.dart/practice_activity_model.dart index ebfd68f37..909406430 100644 --- a/lib/pangea/models/practice_activities.dart/practice_activity_model.dart +++ b/lib/pangea/models/practice_activities.dart/practice_activity_model.dart @@ -1,22 +1,25 @@ +import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; import 'package:fluffychat/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart'; class ConstructIdentifier { final String lemma; - final String type; + final ConstructType type; ConstructIdentifier({required this.lemma, required this.type}); factory ConstructIdentifier.fromJson(Map json) { return ConstructIdentifier( lemma: json['lemma'] as String, - type: json['type'] as String, + type: ConstructType.values.firstWhere( + (e) => e.string == json['type'], + ), ); } Map toJson() { return { 'lemma': lemma, - 'type': type, + 'type': type.string, }; } } @@ -28,8 +31,11 @@ class CandidateMessage { final String roomId; final String text; - CandidateMessage( - {required this.msgId, required this.roomId, required this.text}); + CandidateMessage({ + required this.msgId, + required this.roomId, + required this.text, + }); factory CandidateMessage.fromJson(Map json) { return CandidateMessage(