You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

89 lines
6.3 KiB

import 'package:get/get.dart';
import 'package:shia_game_flutter/core/network/http_request.dart';
import 'package:shia_game_flutter/core/network/http_request_impl.dart';
import 'package:shia_game_flutter/features/awards/data/datasource/awards_datasource.dart';
import 'package:shia_game_flutter/features/awards/data/repository_impl/awards_repository_impl.dart';
import 'package:shia_game_flutter/features/awards/domain/repository/awards_repository.dart';
import 'package:shia_game_flutter/features/awards/domain/usecases/get_awards_usecase.dart';
import 'package:shia_game_flutter/features/battle_league/first_part/data/datasource/battle_league_datasource.dart';
import 'package:shia_game_flutter/features/battle_league/first_part/data/repository_impl/battle_league_repository_impl.dart';
import 'package:shia_game_flutter/features/battle_league/first_part/domain/repository/battle_league_repository.dart';
import 'package:shia_game_flutter/features/battle_league/first_part/domain/usecases/get_battle_league_usecase.dart';
import 'package:shia_game_flutter/features/battle_league/question_part/bl_question/data/datasource/bl_question_datasource.dart';
import 'package:shia_game_flutter/features/battle_league/question_part/bl_question/data/repository_impl/bl_question_repository_impl.dart';
import 'package:shia_game_flutter/features/battle_league/question_part/bl_question/domain/repository/bl_question_repository.dart';
import 'package:shia_game_flutter/features/battle_league/question_part/bl_question/domain/usecases/get_bl_question_usecase.dart';
import 'package:shia_game_flutter/features/home/data/datasource/home_datasource.dart';
import 'package:shia_game_flutter/features/home/data/repository_impl/home_repository_impl.dart';
import 'package:shia_game_flutter/features/home/domain/repository/home_repository.dart';
import 'package:shia_game_flutter/features/home/domain/usecases/get_home_usecase.dart';
import 'package:shia_game_flutter/features/intro/data/datasource/intro_datasource.dart';
import 'package:shia_game_flutter/features/intro/data/repository_impl/intro_repository_impl.dart';
import 'package:shia_game_flutter/features/intro/domain/repository/intro_repository.dart';
import 'package:shia_game_flutter/features/intro/domain/usecases/get_intro_usecase.dart';
import 'package:shia_game_flutter/features/master/data/datasource/master_datasource.dart';
import 'package:shia_game_flutter/features/master/data/repository_impl/master_repository_impl.dart';
import 'package:shia_game_flutter/features/master/domain/repository/master_repository.dart';
import 'package:shia_game_flutter/features/master/domain/usecases/get_master_usecase.dart';
import 'package:shia_game_flutter/features/profile/data/datasource/profile_datasource.dart';
import 'package:shia_game_flutter/features/profile/data/repository_impl/profile_repository_impl.dart';
import 'package:shia_game_flutter/features/profile/domain/repository/profile_repository.dart';
import 'package:shia_game_flutter/features/profile/domain/usecases/get_profile_usecase.dart';
import 'package:shia_game_flutter/features/sample/data/datasource/sample_datasource.dart';
import 'package:shia_game_flutter/features/sample/data/repository_impl/sample_repository_impl.dart';
import 'package:shia_game_flutter/features/sample/domain/repository/sample_repository.dart';
import 'package:shia_game_flutter/features/sample/domain/usecases/get_sample_usecase.dart';
import 'package:shia_game_flutter/features/shop/data/datasource/shop_datasource.dart';
import 'package:shia_game_flutter/features/shop/data/repository_impl/shop_repository_impl.dart';
import 'package:shia_game_flutter/features/shop/domain/repository/shop_repository.dart';
import 'package:shia_game_flutter/features/shop/domain/usecases/get_shop_usecase.dart';
void initBindings() {
/// ----- Classes -----
Get.put<IHttpRequest>(HttpRequestImpl());
/// ----- Sample Feature -----
Get.lazyPut<ISampleDatasource>(() => SampleDatasourceImpl(Get.find()));
Get.lazyPut<ISampleRepository>(() => SampleRepositoryImpl(Get.find()));
Get.lazyPut<GetSampleUseCase>(() => GetSampleUseCase(Get.find()));
/// ----- Intro Feature -----
Get.lazyPut<IIntroDatasource>(() => IntroDatasourceImpl(Get.find()));
Get.lazyPut<IIntroRepository>(() => IntroRepositoryImpl(Get.find()));
Get.lazyPut<GetIntroUseCase>(() => GetIntroUseCase(Get.find()));
/// ----- Master Feature -----
Get.lazyPut<IMasterDatasource>(() => MasterDatasourceImpl(Get.find()));
Get.lazyPut<IMasterRepository>(() => MasterRepositoryImpl(Get.find()));
Get.lazyPut<GetMasterUseCase>(() => GetMasterUseCase(Get.find()));
/// ----- Home Feature -----
Get.lazyPut<IHomeDatasource>(() => HomeDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IHomeRepository>(() => HomeRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetHomeUseCase>(() => GetHomeUseCase(Get.find()), fenix: true);
/// ----- Shop Feature -----
Get.lazyPut<IShopDatasource>(() => ShopDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IShopRepository>(() => ShopRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetShopUseCase>(() => GetShopUseCase(Get.find()), fenix: true);
/// ----- Awards Feature -----
Get.lazyPut<IAwardsDatasource>(() => AwardsDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IAwardsRepository>(() => AwardsRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetAwardsUseCase>(() => GetAwardsUseCase(Get.find()), fenix: true);
/// ----- Profile Feature -----
Get.lazyPut<IProfileDatasource>(() => ProfileDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IProfileRepository>(() => ProfileRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetProfileUseCase>(() => GetProfileUseCase(Get.find()), fenix: true);
/// ----- BattleLeague Feature -----
Get.lazyPut<IBattleLeagueDatasource>(() => BattleLeagueDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IBattleLeagueRepository>(() => BattleLeagueRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetBattleLeagueUseCase>(() => GetBattleLeagueUseCase(Get.find()), fenix: true);
/// ----- BattleLeagueQuestion Feature -----
Get.lazyPut<IBLQuestionDatasource>(() => BLQuestionDatasourceImpl(Get.find()), fenix: true);
Get.lazyPut<IBLQuestionRepository>(() => BLQuestionRepositoryImpl(Get.find()), fenix: true);
Get.lazyPut<GetBLQuestionUseCase>(() => GetBLQuestionUseCase(Get.find()), fenix: true);
}