21 lines
1021 B
Dart
21 lines
1021 B
Dart
import 'package:trainhub_flutter/domain/entities/program.dart';
|
|
import 'package:trainhub_flutter/domain/entities/program_week.dart';
|
|
import 'package:trainhub_flutter/domain/entities/program_workout.dart';
|
|
|
|
abstract class ProgramRepository {
|
|
Future<List<ProgramEntity>> getAllPrograms();
|
|
Future<ProgramEntity?> getProgram(String id);
|
|
Future<List<ProgramWeekEntity>> getWeeks(String programId);
|
|
Future<List<ProgramWorkoutEntity>> getWorkouts(String programId);
|
|
Future<ProgramEntity> createProgram(String name);
|
|
Future<void> deleteProgram(String id);
|
|
Future<void> duplicateProgram(String sourceId);
|
|
Future<ProgramWeekEntity> addWeek(String programId, int position);
|
|
Future<void> deleteWeek(String id);
|
|
Future<void> updateWeekNote(String weekId, String note);
|
|
Future<ProgramWorkoutEntity> addWorkout(ProgramWorkoutEntity workout);
|
|
Future<void> updateWorkout(ProgramWorkoutEntity workout);
|
|
Future<void> deleteWorkout(String id);
|
|
Future<void> toggleWorkoutComplete(String id, bool currentStatus);
|
|
}
|