fix : di for Role

This commit is contained in:
2025-09-03 11:43:52 +03:30
parent ebec27b630
commit 8e9768daf6
9 changed files with 74 additions and 86 deletions

View File

@@ -12,7 +12,7 @@ import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository.da
import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository_imp.dart';
import 'package:rasadyar_core/core.dart';
GetIt diChicken = GetIt.instance;
GetIt diChicken = GetIt.asNewInstance();
Future<void> setupChickenDI() async {
diChicken.registerSingleton(DioErrorHandler());
@@ -45,9 +45,7 @@ Future<void> setupChickenDI() async {
final dioRemote = diChicken.get<DioRemote>();
await dioRemote.init();
diChicken.registerLazySingleton<AuthRemoteDataSource>(
() => AuthRemoteDataSourceImp(dioRemote),
);
diChicken.registerLazySingleton<AuthRemoteDataSource>(() => AuthRemoteDataSourceImp(dioRemote));
diChicken.registerLazySingleton<AuthRepository>(
() => AuthRepositoryImpl(diChicken.get<AuthRemoteDataSource>()),
@@ -78,7 +76,7 @@ Future<void> newSetupAuthDI(String newUrl) async {
await diChicken.unregister<AppInterceptor>(instanceName: 'chickenInterceptor');
}
diChicken.registerLazySingleton<AppInterceptor>(
() => AppInterceptor(
() => AppInterceptor(
refreshTokenCallback: () async => null,
saveTokenCallback: (String newToken) async {
await tokenService.saveAccessToken(newToken);
@@ -96,7 +94,7 @@ Future<void> newSetupAuthDI(String newUrl) async {
await diChicken.unregister<DioRemote>();
}
diChicken.registerLazySingleton<DioRemote>(
() => DioRemote(
() => DioRemote(
baseUrl: newUrl,
interceptors: diChicken.get<AppInterceptor>(instanceName: 'chickenInterceptor'),
),
@@ -109,10 +107,12 @@ Future<void> newSetupAuthDI(String newUrl) async {
await reRegister<AuthRepository>(() => AuthRepositoryImpl(diChicken.get<AuthRemoteDataSource>()));
await reRegister<ChickenRemoteDatasource>(() => ChickenRemoteDatasourceImp(dioRemote));
await reRegister<ChickenLocalDataSource>(() => ChickenLocalDataSourceImp());
await reRegister<ChickenRepository>(() => ChickenRepositoryImp(
remote: diChicken.get<ChickenRemoteDatasource>(),
local: diChicken.get<ChickenLocalDataSource>(),
));
await reRegister<ChickenRepository>(
() => ChickenRepositoryImp(
remote: diChicken.get<ChickenRemoteDatasource>(),
local: diChicken.get<ChickenLocalDataSource>(),
),
);
}
Future<void> reRegister<T extends Object>(T Function() factory) async {
@@ -121,8 +121,11 @@ Future<void> reRegister<T extends Object>(T Function() factory) async {
}
diChicken.registerLazySingleton<T>(factory);
}
Future<void> removeChickenDI() async {
if (diChicken.isRegistered<DioErrorHandler>()) {
eLog("removeChickenDI");
await diChicken.resetScope();
/* if (diChicken.isRegistered<DioErrorHandler>()) {
diChicken.unregister<DioErrorHandler>();
}
if (diChicken.isRegistered<AppInterceptor>(instanceName: 'chickenInterceptor')) {
@@ -145,5 +148,5 @@ Future<void> removeChickenDI() async {
}
if (diChicken.isRegistered<ChickenRepository>()) {
diChicken.unregister<ChickenRepository>();
}
}
}*/
}

View File

@@ -9,7 +9,7 @@ import 'package:rasadyar_inspection/data/repositories/user/user_repository_imp.d
import 'package:rasadyar_inspection/data/utils/dio_exception_handeler.dart';
import 'package:rasadyar_inspection/presentation/routes/app_routes.dart';
GetIt diInspection = GetIt.instance;
GetIt diInspection = GetIt.asNewInstance();
Future<void> setupInspectionDI() async {
diInspection.registerSingleton(DioErrorHandler());
@@ -71,7 +71,9 @@ Future<void> setupInspectionDI() async {
Future<void> removeInspectionDI() async {
if (diInspection.isRegistered<DioErrorHandler>()) {
eLog("removeInspectionDI");
await diInspection.resetScope();
/* if (diInspection.isRegistered<DioErrorHandler>()) {
diInspection.unregister<DioErrorHandler>();
}
if (diInspection.isRegistered<AppInterceptor>()) {
@@ -100,5 +102,5 @@ Future<void> removeInspectionDI() async {
}
if (diInspection.isRegistered<ImagePicker>()) {
diInspection.unregister<ImagePicker>();
}
}*/
}

View File

@@ -19,11 +19,11 @@ extension HiveRegistrar on HiveInterface {
extension IsolatedHiveRegistrar on IsolatedHiveInterface {
void registerAdapters() {
registerAdapter(HerdLocalAdapter());
registerAdapter(LivestockLocalAdapter());
registerAdapter(LivestockLocalModelAdapter());
registerAdapter(LocationLocalAdapter());
registerAdapter(RancherLocalAdapter());
registerAdapter(TmpLocationsAdapter());
registerAdapter(HerdLocalAdapter(), override: true);
registerAdapter(LivestockLocalAdapter(), override: true);
registerAdapter(LivestockLocalModelAdapter(), override: true);
registerAdapter(LocationLocalAdapter(), override: true);
registerAdapter(RancherLocalAdapter(), override: true);
registerAdapter(TmpLocationsAdapter(), override: true);
}
}

View File

@@ -1,5 +1,4 @@
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_livestock/data/common/constant.dart';
import 'package:rasadyar_livestock/data/common/dio_exception_handeler.dart';
import 'package:rasadyar_livestock/data/data_source/remote/auth/auth_remote.dart';
import 'package:rasadyar_livestock/data/data_source/remote/auth/auth_remote_imp.dart';
@@ -14,10 +13,11 @@ import 'package:rasadyar_livestock/presentation/routes/app_pages.dart';
import '../data/data_source/local/tmp/tmp_local_data-source.dart';
GetIt get diLiveStock => GetIt.instance;
GetIt diLiveStock= GetIt.asNewInstance();
Future<void> setupLiveStockDI() async {
diLiveStock.registerSingleton(DioErrorHandler());
await IsolatedHive.initFlutter();
IsolatedHive.registerAdapters();
final tokenService = Get.find<TokenStorageService>();
@@ -30,7 +30,7 @@ Future<void> setupLiveStockDI() async {
diLiveStock.registerLazySingleton<AppInterceptor>(
() => AppInterceptor(
refreshTokenCallback: () async {
// Use lazy access to avoid circular dependency
// Use lazy access to avoid circular dependency
final authRepository = diLiveStock.get<AuthRepository>();
final hasAuthenticated = await authRepository.hasAuthenticated();
if (hasAuthenticated) {
@@ -95,7 +95,12 @@ Future<void> setupLiveStockDI() async {
}
Future<void> removeLiveStockDI() async {
if (diLiveStock.isRegistered<DioErrorHandler>()) {
eLog("removeLiveStockDI");
await diLiveStock.resetScope();
/* if (diLiveStock.isRegistered<DioErrorHandler>()) {
diLiveStock.unregister<DioErrorHandler>();
}
if (diLiveStock.isRegistered<AppInterceptor>()) {
@@ -121,5 +126,5 @@ Future<void> removeLiveStockDI() async {
}
if (diLiveStock.isRegistered<ImagePicker>()) {
diLiveStock.unregister<ImagePicker>();
}
}*/
}