19 lines
529 B
Dart
19 lines
529 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
import 'package:trainhub_flutter/domain/entities/training_section.dart';
|
|
|
|
part 'training_plan.freezed.dart';
|
|
|
|
@freezed
|
|
class TrainingPlanEntity with _$TrainingPlanEntity {
|
|
const factory TrainingPlanEntity({
|
|
required String id,
|
|
required String name,
|
|
@Default([]) List<TrainingSectionEntity> sections,
|
|
}) = _TrainingPlanEntity;
|
|
|
|
const TrainingPlanEntity._();
|
|
|
|
int get totalExercises =>
|
|
sections.fold(0, (sum, s) => sum + s.exercises.length);
|
|
}
|