diff --git a/mnemo_cards_backend/lib/api/di/injector.config.dart b/mnemo_cards_backend/lib/api/di/injector.config.dart index de7ced4..05ff00d 100644 --- a/mnemo_cards_backend/lib/api/di/injector.config.dart +++ b/mnemo_cards_backend/lib/api/di/injector.config.dart @@ -67,6 +67,7 @@ extension GetItInjectableX on _i174.GetIt { final gh = _i526.GetItHelper(this, environment, environmentFilter); final appModule = _$AppModule(); gh.singleton<_i1072.AppDatabase>(() => appModule.database); + gh.singleton<_i988.YooMoneyHandler>(() => appModule.yooMoneyHandler); gh.singleton<_i533.MinioConfig>(() => appModule.minioConfig); gh.lazySingleton<_i846.AdsManager>(() => _i846.AdsManager()); gh.lazySingleton<_i222.RustorePurchaseHandler>( @@ -140,6 +141,13 @@ extension GetItInjectableX on _i174.GetIt { gh.lazySingleton<_i858.DiscountsApiV2>( () => _i858.DiscountsApiV2(gh<_i891.DiscountsManager>()), ); + gh.lazySingleton<_i1009.PaymentManager>( + () => _i1009.PaymentManager( + gh<_i1072.AppDatabase>(), + gh<_i988.YooMoneyHandler>(), + gh<_i222.RustorePurchaseHandler>(), + ), + ); gh.lazySingleton<_i365.MediaApiV2>( () => _i365.MediaApiV2(gh<_i747.MinioService>()), ); @@ -163,9 +171,11 @@ extension GetItInjectableX on _i174.GetIt { gh<_i108.JwtService>(), ), ); - gh.lazySingleton<_i988.YooMoneyHandler>( - () => - _i988.YooMoneyHandler(shopId: gh(), secretKey: gh()), + gh.lazySingleton<_i151.PromoCodesManager>( + () => _i151.PromoCodesManager( + gh<_i1072.AppDatabase>(), + gh<_i1009.PaymentManager>(), + ), ); gh.lazySingleton<_i560.UserManager>( () => _i560.UserManager( @@ -179,12 +189,29 @@ extension GetItInjectableX on _i174.GetIt { gh.lazySingleton<_i561.MnemoShelf>( () => _i561.MnemoShelf(gh<_i280.UserManager>()), ); + gh.lazySingleton<_i247.UsersApiV2>( + () => _i247.UsersApiV2( + gh<_i280.UserManager>(), + gh<_i1009.PaymentManager>(), + gh<_i1029.StatisticsCalculator>(), + gh<_i1072.AppDatabase>(), + ), + ); + gh.lazySingleton<_i273.PromocodesApiV2>( + () => _i273.PromocodesApiV2(gh<_i151.PromoCodesManager>()), + ); gh.lazySingleton<_i908.ProductsPriceResolver>( () => _i908.ProductsPriceResolver( gh<_i891.DiscountsManager>(), gh<_i1072.AppDatabase>(), ), ); + gh.lazySingleton<_i735.CheckPaymentTask>( + () => _i735.CheckPaymentTask( + gh<_i1009.PaymentManager>(), + gh<_i1072.AppDatabase>(), + ), + ); gh.lazySingleton<_i170.TestsApiV2>( () => _i170.TestsApiV2( gh<_i259.TestManager>(), @@ -201,42 +228,12 @@ extension GetItInjectableX on _i174.GetIt { gh<_i240.TelegramAuthCodeService>(), ), ); - gh.lazySingleton<_i1009.PaymentManager>( - () => _i1009.PaymentManager( - gh<_i1072.AppDatabase>(), - gh<_i988.YooMoneyHandler>(), - gh<_i222.RustorePurchaseHandler>(), - ), - ); - gh.lazySingleton<_i151.PromoCodesManager>( - () => _i151.PromoCodesManager( - gh<_i1072.AppDatabase>(), - gh<_i1009.PaymentManager>(), - ), - ); gh.lazySingleton<_i433.PackDtoConverter>( () => _i433.PackDtoConverter( gh<_i908.ProductsPriceResolver>(), gh<_i846.AdsManager>(), ), ); - gh.lazySingleton<_i247.UsersApiV2>( - () => _i247.UsersApiV2( - gh<_i280.UserManager>(), - gh<_i1009.PaymentManager>(), - gh<_i1029.StatisticsCalculator>(), - gh<_i1072.AppDatabase>(), - ), - ); - gh.lazySingleton<_i273.PromocodesApiV2>( - () => _i273.PromocodesApiV2(gh<_i151.PromoCodesManager>()), - ); - gh.lazySingleton<_i735.CheckPaymentTask>( - () => _i735.CheckPaymentTask( - gh<_i1009.PaymentManager>(), - gh<_i1072.AppDatabase>(), - ), - ); gh.lazySingleton<_i833.PackManager>( () => _i833.PackManager( gh<_i1072.AppDatabase>(), diff --git a/mnemo_cards_backend/lib/api/di/modules.dart b/mnemo_cards_backend/lib/api/di/modules.dart index d12db07..661b3c1 100644 --- a/mnemo_cards_backend/lib/api/di/modules.dart +++ b/mnemo_cards_backend/lib/api/di/modules.dart @@ -4,14 +4,18 @@ import 'package:injectable/injectable.dart'; import '../../database/database.dart'; import '../../main.dart' as backend_main; import '../../storage/minio_config.dart'; +import '../purchase/yoo_money.dart'; @module abstract class AppModule { @singleton AppDatabase get database => backend_main.database; - // YooMoneyHandler is registered via @LazySingleton() annotation - // in yoo_money.dart, so we don't need to register it here + @singleton + YooMoneyHandler get yooMoneyHandler => YooMoneyHandler( + shopId: Platform.environment['YOOKASSA_SHOP_ID'] ?? '', + secretKey: Platform.environment['YOOKASSA_SECRET_KEY'] ?? '', + ); @singleton MinioConfig get minioConfig => MinioConfig.fromEnvironment(); diff --git a/mnemo_cards_backend/lib/api/purchase/yoo_money.dart b/mnemo_cards_backend/lib/api/purchase/yoo_money.dart index 13e5b99..0b02057 100644 --- a/mnemo_cards_backend/lib/api/purchase/yoo_money.dart +++ b/mnemo_cards_backend/lib/api/purchase/yoo_money.dart @@ -3,7 +3,6 @@ import 'dart:developer'; import 'dart:io'; import 'package:dio/dio.dart'; -import 'package:injectable/injectable.dart'; import 'package:uuid/uuid.dart'; /// Wrapper for YooKassa payment response @@ -22,7 +21,7 @@ class YookassaPayment { /// Handler for YooKassa payment integration /// Implements YooKassa API v3 according to OpenAPI specification /// https://yookassa.ru/developers/using-api/openapi-specification -@LazySingleton() +/// Note: Registered via @module in modules.dart to provide environment variables class YooMoneyHandler { final String _shopId; final String _secretKey;