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

50
lib/injection.dart Normal file
View File

@@ -0,0 +1,50 @@
import 'package:get_it/get_it.dart';
import 'package:trainhub_flutter/data/database/app_database.dart';
import 'package:trainhub_flutter/data/database/daos/exercise_dao.dart';
import 'package:trainhub_flutter/data/database/daos/training_plan_dao.dart';
import 'package:trainhub_flutter/data/database/daos/program_dao.dart';
import 'package:trainhub_flutter/data/database/daos/analysis_dao.dart';
import 'package:trainhub_flutter/data/database/daos/chat_dao.dart';
import 'package:trainhub_flutter/domain/repositories/exercise_repository.dart';
import 'package:trainhub_flutter/domain/repositories/training_plan_repository.dart';
import 'package:trainhub_flutter/domain/repositories/program_repository.dart';
import 'package:trainhub_flutter/domain/repositories/analysis_repository.dart';
import 'package:trainhub_flutter/domain/repositories/chat_repository.dart';
import 'package:trainhub_flutter/data/repositories/exercise_repository_impl.dart';
import 'package:trainhub_flutter/data/repositories/training_plan_repository_impl.dart';
import 'package:trainhub_flutter/data/repositories/program_repository_impl.dart';
import 'package:trainhub_flutter/data/repositories/analysis_repository_impl.dart';
import 'package:trainhub_flutter/data/repositories/chat_repository_impl.dart';
final GetIt getIt = GetIt.instance;
void init() {
// Database
getIt.registerSingleton<AppDatabase>(AppDatabase());
// DAOs
getIt.registerSingleton<ExerciseDao>(ExerciseDao(getIt<AppDatabase>()));
getIt.registerSingleton<TrainingPlanDao>(
TrainingPlanDao(getIt<AppDatabase>()),
);
getIt.registerSingleton<ProgramDao>(ProgramDao(getIt<AppDatabase>()));
getIt.registerSingleton<AnalysisDao>(AnalysisDao(getIt<AppDatabase>()));
getIt.registerSingleton<ChatDao>(ChatDao(getIt<AppDatabase>()));
// Repositories
getIt.registerLazySingleton<ExerciseRepository>(
() => ExerciseRepositoryImpl(getIt<ExerciseDao>()),
);
getIt.registerLazySingleton<TrainingPlanRepository>(
() => TrainingPlanRepositoryImpl(getIt<TrainingPlanDao>()),
);
getIt.registerLazySingleton<ProgramRepository>(
() => ProgramRepositoryImpl(getIt<ProgramDao>()),
);
getIt.registerLazySingleton<AnalysisRepository>(
() => AnalysisRepositoryImpl(getIt<AnalysisDao>()),
);
getIt.registerLazySingleton<ChatRepository>(
() => ChatRepositoryImpl(getIt<ChatDao>()),
);
}