challenge.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. class Challenge {
  2. final List<Exercise> exercises;
  3. final int bonusExercise;
  4. const Challenge({
  5. required this.exercises,
  6. required this.bonusExercise,
  7. });
  8. factory Challenge.fromMap(Map<String, dynamic> data) {
  9. return Challenge(
  10. exercises: _getExercise(data["list_exercises"]),
  11. bonusExercise: data["bonus_exercise"],
  12. );
  13. }
  14. static List<Exercise> _getExercise(List<Map<String, dynamic>> exercises) {
  15. return exercises.map((exercise) => Exercise.fromMap(exercise)).toList();
  16. }
  17. }
  18. class Exercise {
  19. final String description;
  20. final Difficulty difficulty;
  21. final String name;
  22. final int repetitions;
  23. final int sets;
  24. const Exercise({
  25. required this.description,
  26. required this.difficulty,
  27. required this.name,
  28. required this.repetitions,
  29. required this.sets,
  30. });
  31. factory Exercise.fromMap(Map<String, dynamic> data) {
  32. return Exercise(
  33. description: data["description"],
  34. difficulty: Difficulty.values[data["difficulty"]],
  35. name: data["name"],
  36. repetitions: data["repetitions"],
  37. sets: data["sets"],
  38. );
  39. }
  40. }
  41. enum Difficulty {
  42. easy,
  43. normal,
  44. hard,
  45. }