import 'package:rasadyar_auth/data/services/token_storage_service.dart'; import 'package:rasadyar_chicken/data/repositories/chicken_repository_imp.dart'; import 'package:rasadyar_core/core.dart'; GetIt diChicken = GetIt.instance; Future setupChickenDI() async { var tokenService = Get.find(); diChicken.registerLazySingleton( () => AppInterceptor( refreshTokenCallback: () async {}, saveTokenCallback: (String newToken) async { await tokenService.saveAccessToken(newToken); // ذخیره توکن جدید }, clearTokenCallback: () async { await tokenService.deleteTokens(); }, ), instanceName: 'chickenInterceptor', ); tokenService.getBaseUrl(); diChicken.registerLazySingleton(() { return DioRemote( baseUrl: tokenService.baseurl.value, interceptors: diChicken.get(instanceName: 'chickenInterceptor'), ); }, instanceName: 'chickenDioRemote'); final dioRemote = diChicken.get(instanceName: 'chickenDioRemote'); await dioRemote.init(); diChicken.registerLazySingleton(() => ChickenRepositoryImpl(dioRemote)); diChicken.registerSingleton(ImagePicker()); }