Initial commit
This commit is contained in:
107
lib/models/training_models.dart
Normal file
107
lib/models/training_models.dart
Normal file
@@ -0,0 +1,107 @@
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user