126 lines
3.4 KiB
Dart
126 lines
3.4 KiB
Dart
|
|
import 'package:get_it/get_it.dart';
|
|
import 'package:mnemo_cards/admin/admin_api.dart';
|
|
import 'package:mnemo_cards/features/packs/pack_cache_manager.dart';
|
|
import 'package:mnemo_cards/features/packs/packs_api.dart';
|
|
import 'package:mnemo_cards/features/subscription/subscription_api.dart';
|
|
import 'package:mnemo_cards/flags.dart';
|
|
import 'package:mnemo_cards/managers/favorite_cards.dart';
|
|
import 'package:mnemo_cards/managers/repository/dio_provider.dart';
|
|
import 'package:mnemo_cards/managers/repository/http_repository.dart';
|
|
|
|
import '../features/packs/images_holder.dart';
|
|
import '../features/packs/pack_updater.dart';
|
|
import '../features/packs/preview_packs_poller.dart';
|
|
import '../features/purchase/in_app_purchase.dart';
|
|
import '../features/tests/test_manager.dart';
|
|
import '../features/packs/pack_holder.dart';
|
|
import '../features/packs/pack_manager.dart';
|
|
import '../features/packs/preview_pack_holder.dart';
|
|
import '../managers/user_manager.dart';
|
|
|
|
GetIt getIt = GetIt.I;
|
|
|
|
Future<void> setInjections() async {
|
|
final _dio = await DioProvider().init();
|
|
getIt.registerSingleton<DioProvider>(_dio);
|
|
print('set dio');
|
|
|
|
getIt.registerLazySingleton<HttpRepository>(
|
|
() => HttpRepository(getIt.get<DioProvider>().dio),
|
|
);
|
|
print('set repo');
|
|
|
|
getIt.registerLazySingleton<PacksApi>(
|
|
() => PacksApi(getIt.get<DioProvider>().dio),
|
|
);
|
|
print('set pack');
|
|
|
|
getIt.registerLazySingleton<SubscriptionApi>(
|
|
() => SubscriptionApi(getIt.get<DioProvider>().dio),
|
|
);
|
|
print('set subscription');
|
|
|
|
getIt.registerLazySingleton<PackHolder>(
|
|
() => PackHolder(),
|
|
);
|
|
print('set pack holder');
|
|
|
|
getIt.registerLazySingleton<PreviewPackHolder>(
|
|
() => PreviewPackHolder(),
|
|
);
|
|
print('set preview');
|
|
|
|
getIt.registerLazySingleton<PackCacheManager>(
|
|
() => PackCacheManager(),
|
|
);
|
|
print('set cache');
|
|
|
|
getIt.registerLazySingleton<ImagesHolder>(
|
|
() => ImagesHolder(),
|
|
);
|
|
print('set images holder');
|
|
|
|
getIt.registerLazySingleton<PreviewPacksPoller>(
|
|
() => PreviewPacksPoller(
|
|
getIt.get<PacksApi>(),
|
|
getIt.get<PreviewPackHolder>(),
|
|
),
|
|
);
|
|
print('set preview poller');
|
|
|
|
getIt.registerLazySingleton<PackManager>(
|
|
() => PackManager(
|
|
getIt.get<HttpRepository>(),
|
|
getIt.get<PacksApi>(),
|
|
getIt.get<PackHolder>(),
|
|
getIt.get<PreviewPackHolder>(),
|
|
getIt.get<PackCacheManager>(),
|
|
),
|
|
);
|
|
print('set pack manager');
|
|
|
|
getIt.registerLazySingleton<PackUpdater>(
|
|
() => PackUpdater(
|
|
getIt.get<PacksApi>(),
|
|
getIt.get<PackCacheManager>(),
|
|
getIt.get<PackHolder>(),
|
|
getIt.get<PreviewPackHolder>(),
|
|
),
|
|
);
|
|
print('set pack updater');
|
|
|
|
getIt.registerLazySingleton<UserManager>(
|
|
() => UserManager(
|
|
getIt.get<HttpRepository>(),
|
|
),
|
|
);
|
|
print('set user manager');
|
|
|
|
getIt.registerLazySingleton<FavoriteCardsController>(
|
|
() => FavoriteCardsController(),
|
|
);
|
|
print('set fav cards container');
|
|
|
|
getIt.registerLazySingleton<TestManager>(
|
|
() =>
|
|
TestManager(getIt.get<PackCacheManager>(), getIt.get<HttpRepository>()),
|
|
);
|
|
print('set test manager');
|
|
|
|
getIt.registerLazySingleton<InAppPurchaseService>(
|
|
() => InAppPurchaseService(),
|
|
);
|
|
print('set in app');
|
|
|
|
getIt.registerLazySingleton(
|
|
() => PurchaseDetailsStreamSubscription(),
|
|
);
|
|
print('set purchase');
|
|
try {
|
|
await getIt.allReady();
|
|
print('injector all ready');
|
|
} catch (e, s) {
|
|
print('injector error $e $s');
|
|
}
|
|
}
|