Update the routine test data

This commit is contained in:
Roland Geider
2025-01-07 22:35:36 +01:00
parent 6e7284e104
commit 6d970052ef
8 changed files with 120 additions and 49 deletions

View File

@@ -17,6 +17,7 @@ BaseConfig _$BaseConfigFromJson(Map<String, dynamic> json) {
'operation',
'step',
'need_log_to_apply',
'repeat',
'requirements'
],
);
@@ -24,11 +25,12 @@ BaseConfig _$BaseConfigFromJson(Map<String, dynamic> json) {
id: (json['id'] as num?)?.toInt(),
slotEntryId: (json['slot_entry'] as num).toInt(),
iteration: (json['iteration'] as num).toInt(),
repeat: json['repeat'] as bool? ?? false,
value: stringOrIntToNum(json['value']),
operation: json['operation'] as String,
step: json['step'] as String,
needLogToApply: json['need_log_to_apply'] as bool,
requirements: json['requirements'],
operation: json['operation'] as String? ?? 'r',
step: json['step'] as String? ?? 'abs',
needLogToApply: json['need_log_to_apply'] as bool? ?? false,
requirements: json['requirements'] ?? null,
);
}
@@ -39,5 +41,6 @@ Map<String, dynamic> _$BaseConfigToJson(BaseConfig instance) => <String, dynamic
'operation': instance.operation,
'step': instance.step,
'need_log_to_apply': instance.needLogToApply,
'repeat': instance.repeat,
'requirements': instance.requirements,
};

View File

@@ -57,9 +57,18 @@ class Day {
@JsonKey(required: false, defaultValue: [], includeFromJson: true, includeToJson: false)
List<Slot> slots = [];
Day() {
slots = [];
}
Day({
this.id,
required this.routineId,
required this.name,
required this.description,
this.isRest = false,
this.needLogsToAdvance = false,
this.type = 'custom',
this.order = 0,
this.config = null,
this.slots = const [],
});
Day.empty() {
name = 'new day';

View File

@@ -21,20 +21,21 @@ Day _$DayFromJson(Map<String, dynamic> json) {
'config'
],
);
return Day()
..id = (json['id'] as num?)?.toInt()
..routineId = (json['routine'] as num).toInt()
..name = json['name'] as String
..description = json['description'] as String
..isRest = json['is_rest'] as bool
..needLogsToAdvance = json['need_logs_to_advance'] as bool
..type = json['type'] as String
..order = json['order'] as num
..config = json['config']
..slots = (json['slots'] as List<dynamic>?)
return Day(
id: (json['id'] as num?)?.toInt(),
routineId: (json['routine'] as num).toInt(),
name: json['name'] as String,
description: json['description'] as String,
isRest: json['is_rest'] as bool,
needLogsToAdvance: json['need_logs_to_advance'] as bool,
type: json['type'] as String,
order: json['order'] as num,
config: json['config'],
slots: (json['slots'] as List<dynamic>?)
?.map((e) => Slot.fromJson(e as Map<String, dynamic>))
.toList() ??
[];
[],
);
}
Map<String, dynamic> _$DayToJson(Day instance) => <String, dynamic>{

View File

@@ -42,9 +42,9 @@ class DayData {
DayData({
required this.iteration,
required this.date,
required this.label,
this.label = '',
required this.day,
required this.slots,
this.slots = const [],
});
// Boilerplate

View File

@@ -14,11 +14,12 @@ DayData _$DayDataFromJson(Map<String, dynamic> json) {
return DayData(
iteration: (json['iteration'] as num).toInt(),
date: DateTime.parse(json['date'] as String),
label: json['label'] as String?,
label: json['label'] as String? ?? '',
day: json['day'] == null ? null : Day.fromJson(json['day'] as Map<String, dynamic>),
slots: (json['slots'] as List<dynamic>)
.map((e) => SlotData.fromJson(e as Map<String, dynamic>))
.toList(),
slots: (json['slots'] as List<dynamic>?)
?.map((e) => SlotData.fromJson(e as Map<String, dynamic>))
.toList() ??
const [],
);
}

View File

@@ -38,7 +38,8 @@ class SlotData {
SlotData({
required this.comment,
required this.isSuperset,
required this.exerciseIds,
this.exerciseIds = const [],
this.setConfigs = const [],
});
// Boilerplate

View File

@@ -14,10 +14,13 @@ SlotData _$SlotDataFromJson(Map<String, dynamic> json) {
return SlotData(
comment: json['comment'] as String,
isSuperset: json['is_superset'] as bool,
exerciseIds: (json['exercises'] as List<dynamic>).map((e) => (e as num).toInt()).toList(),
)..setConfigs = (json['sets'] as List<dynamic>)
.map((e) => SetConfigData.fromJson(e as Map<String, dynamic>))
.toList();
exerciseIds:
(json['exercises'] as List<dynamic>?)?.map((e) => (e as num).toInt()).toList() ?? const [],
setConfigs: (json['sets'] as List<dynamic>?)
?.map((e) => SetConfigData.fromJson(e as Map<String, dynamic>))
.toList() ??
const [],
);
}
Map<String, dynamic> _$SlotDataToJson(SlotData instance) => <String, dynamic>{

View File

@@ -19,10 +19,12 @@
import 'package:wger/models/exercises/exercise.dart';
import 'package:wger/models/workouts/base_config.dart';
import 'package:wger/models/workouts/day.dart';
import 'package:wger/models/workouts/day_data.dart';
import 'package:wger/models/workouts/log.dart';
import 'package:wger/models/workouts/repetition_unit.dart';
import 'package:wger/models/workouts/routine.dart';
import 'package:wger/models/workouts/slot.dart';
import 'package:wger/models/workouts/slot_data.dart';
import 'package:wger/models/workouts/slot_entry.dart';
import 'package:wger/models/workouts/weight_unit.dart';
@@ -171,28 +173,79 @@ Routine getRoutine({List<Exercise>? exercises}) {
slotSideRaises.addExerciseBase(testExercise[5]);
slotSideRaises.entries.add(slotEntrySideRaises);
final dayChestShoulders = Day()
..id = 1
..routineId = 1
..description = 'chest, shoulders';
dayChestShoulders.slots.add(slotBenchPress);
dayChestShoulders.slots.add(slotSideRaises);
final dayChestShoulders = Day(
id: 1,
routineId: 1,
name: 'first day',
description: 'chest, shoulders',
slots: [slotBenchPress, slotSideRaises],
);
final dayLegs = Day()
..id = 2
..routineId = 1
..description = 'legs';
dayLegs.slots.add(slotSquat);
final dayLegs = Day(
id: 2,
routineId: 1,
name: 'second day',
description: 'legs',
slots: [slotSquat],
);
final routine = Routine(
id: 1,
created: DateTime(2021, 01, 01),
name: '3 day workout',
start: DateTime(2024, 11, 01),
end: DateTime(2024, 12, 01),
days: [dayChestShoulders, dayLegs],
logs: [log1, log2, log3],
);
id: 1,
created: DateTime(2021, 01, 01),
name: '3 day workout',
start: DateTime(2024, 11, 01),
end: DateTime(2024, 12, 01),
days: [
dayChestShoulders,
dayLegs
],
logs: [
log1,
log2,
log3
],
dayDataCurrentIteration: [
DayData(
iteration: 1,
date: DateTime(2024, 11, 01),
label: '',
day: dayChestShoulders,
slots: [
SlotData(
comment: 'foo',
isSuperset: false,
exerciseIds: [1],
setConfigs: [
// SetConfigData(
// reps: 10,
// weight: 10,
// rir: '1.5',
// ),
],
)
],
),
DayData(
iteration: 1,
date: DateTime(2024, 11, 02),
label: '',
day: dayLegs,
slots: [
SlotData(
comment: 'foo',
isSuperset: false,
exerciseIds: [8],
setConfigs: [
// SetConfigData(
// reps: 8,
// weight: 50,
// rir: '',
// ),
],
)
],
),
]);
return routine;
}