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.
 
 
 
 

71 lines
4.6 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/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);
}