108 lines
2.3 KiB
Dart
108 lines
2.3 KiB
Dart
class TrainingPlanModel {
|
|
String id;
|
|
String name;
|
|
List<TrainingSectionModel> sections;
|
|
|
|
TrainingPlanModel({
|
|
required this.id,
|
|
required this.name,
|
|
required this.sections,
|
|
});
|
|
|
|
factory TrainingPlanModel.fromJson(Map<String, dynamic> json) {
|
|
return TrainingPlanModel(
|
|
id: json['id'] ?? '',
|
|
name: json['name'] ?? '',
|
|
sections:
|
|
(json['sections'] as List<dynamic>?)
|
|
?.map((e) => TrainingSectionModel.fromJson(e))
|
|
.toList() ??
|
|
[],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': id,
|
|
'name': name,
|
|
'sections': sections.map((e) => e.toJson()).toList(),
|
|
};
|
|
}
|
|
}
|
|
|
|
class TrainingSectionModel {
|
|
String id;
|
|
String name;
|
|
List<TrainingExerciseModel> exercises;
|
|
|
|
TrainingSectionModel({
|
|
required this.id,
|
|
required this.name,
|
|
required this.exercises,
|
|
});
|
|
|
|
factory TrainingSectionModel.fromJson(Map<String, dynamic> json) {
|
|
return TrainingSectionModel(
|
|
id: json['id'] ?? '',
|
|
name: json['name'] ?? '',
|
|
exercises:
|
|
(json['exercises'] as List<dynamic>?)
|
|
?.map((e) => TrainingExerciseModel.fromJson(e))
|
|
.toList() ??
|
|
[],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': id,
|
|
'name': name,
|
|
'exercises': exercises.map((e) => e.toJson()).toList(),
|
|
};
|
|
}
|
|
}
|
|
|
|
class TrainingExerciseModel {
|
|
String instanceId;
|
|
String exerciseId;
|
|
String name;
|
|
int sets;
|
|
int value; // Reps or Seconds
|
|
bool isTime;
|
|
int rest;
|
|
|
|
TrainingExerciseModel({
|
|
required this.instanceId,
|
|
required this.exerciseId,
|
|
required this.name,
|
|
required this.sets,
|
|
required this.value,
|
|
required this.isTime,
|
|
required this.rest,
|
|
});
|
|
|
|
factory TrainingExerciseModel.fromJson(Map<String, dynamic> json) {
|
|
return TrainingExerciseModel(
|
|
instanceId: json['instanceId'] ?? '',
|
|
exerciseId: json['exerciseId'] ?? '',
|
|
name: json['name'] ?? '',
|
|
sets: json['sets'] ?? 3,
|
|
value: json['value'] ?? 10,
|
|
isTime: json['isTime'] ?? false,
|
|
rest: json['rest'] ?? 60,
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'instanceId': instanceId,
|
|
'exerciseId': exerciseId,
|
|
'name': name,
|
|
'sets': sets,
|
|
'value': value,
|
|
'isTime': isTime,
|
|
'rest': rest,
|
|
};
|
|
}
|
|
}
|