Initial commit

This commit is contained in:
Kazimierz Ciołek
2026-02-19 02:49:29 +01:00
commit 782986a632
148 changed files with 29230 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import 'package:trainhub_flutter/domain/entities/analysis_session.dart';
import 'package:trainhub_flutter/domain/entities/annotation.dart';
abstract class AnalysisRepository {
Future<List<AnalysisSessionEntity>> getAllSessions();
Future<AnalysisSessionEntity?> getSession(String id);
Future<AnalysisSessionEntity> createSession(String name, String videoPath);
Future<void> deleteSession(String id);
Future<List<AnnotationEntity>> getAnnotations(String sessionId);
Future<AnnotationEntity> addAnnotation({
required String sessionId,
required String name,
required String description,
required double startTime,
required double endTime,
required String color,
});
Future<void> deleteAnnotation(String id);
}

View File

@@ -0,0 +1,16 @@
import 'package:trainhub_flutter/domain/entities/chat_session.dart';
import 'package:trainhub_flutter/domain/entities/chat_message.dart';
abstract class ChatRepository {
Future<List<ChatSessionEntity>> getAllSessions();
Future<ChatSessionEntity?> getSession(String id);
Future<ChatSessionEntity> createSession();
Future<void> deleteSession(String id);
Future<List<ChatMessageEntity>> getMessages(String sessionId);
Future<ChatMessageEntity> addMessage({
required String sessionId,
required String role,
required String content,
});
Future<void> updateSessionTitle(String sessionId, String title);
}

View File

@@ -0,0 +1,13 @@
import 'package:trainhub_flutter/domain/entities/exercise.dart';
abstract class ExerciseRepository {
Future<List<ExerciseEntity>> getAll();
Future<ExerciseEntity> create({
required String name,
String? instructions,
String? tags,
String? videoUrl,
});
Future<void> update(ExerciseEntity exercise);
Future<void> delete(String id);
}

View File

@@ -0,0 +1,20 @@
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);
}

View File

@@ -0,0 +1,9 @@
import 'package:trainhub_flutter/domain/entities/training_plan.dart';
abstract class TrainingPlanRepository {
Future<List<TrainingPlanEntity>> getAll();
Future<TrainingPlanEntity> getById(String id);
Future<TrainingPlanEntity> create(String name);
Future<void> update(TrainingPlanEntity plan);
Future<void> delete(String id);
}