Files
trainhub-flutter/lib/domain/repositories/program_repository.dart
Kazimierz Ciołek 782986a632 Initial commit
2026-02-19 02:49:29 +01:00

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);
}