refactor: remove unused local and remote data sources, models, and tests for chicken and poultry features to streamline codebase

This commit is contained in:
2025-12-08 16:10:34 +03:30
parent 890be0ded6
commit 455a5a5571
230 changed files with 2812 additions and 3471 deletions

View File

@@ -0,0 +1,66 @@
import 'package:rasadyar_chicken/features/common/data/datasources/local/chicken_local.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/local/chicken_local_imp.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/remote/auth/auth_remote.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/remote/auth/auth_remote_imp.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/remote/common/common_remote.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/remote/common/common_remote_imp.dart';
import 'package:rasadyar_chicken/features/common/data/repositories/auth/auth_repository.dart';
import 'package:rasadyar_chicken/features/common/data/repositories/auth/auth_repository_imp.dart';
import 'package:rasadyar_chicken/features/common/data/repositories/common/common_repository.dart';
import 'package:rasadyar_chicken/features/common/data/repositories/common/common_repository_imp.dart';
import 'package:rasadyar_core/core.dart';
/// Setup dependency injection for common feature
Future<void> setupCommonDI(GetIt di, DioRemote dioRemote) async {
di.registerLazySingleton<AuthRemoteDataSource>(
() => AuthRemoteDataSourceImp(dioRemote),
);
di.registerLazySingleton<AuthRepository>(
() => AuthRepositoryImpl(di.get<AuthRemoteDataSource>()),
);
di.registerLazySingleton<CommonRemoteDatasource>(
() => CommonRemoteDatasourceImp(dioRemote),
);
di.registerLazySingleton<ChickenLocalDataSource>(
() => ChickenLocalDataSourceImp(),
);
di.registerLazySingleton<CommonRepository>(
() => CommonRepositoryImp(
remote: di.get<CommonRemoteDatasource>(),
local: di.get<ChickenLocalDataSource>(),
),
);
}
/// Re-register common dependencies (used when base URL changes)
Future<void> reRegisterCommonDI(GetIt di, DioRemote dioRemote) async {
await reRegister(di, () => AuthRemoteDataSourceImp(dioRemote));
await reRegister(
di,
() => AuthRepositoryImpl(di.get<AuthRemoteDataSource>()),
);
await reRegister(di, () => CommonRemoteDatasourceImp(dioRemote));
await reRegister(di, () => ChickenLocalDataSourceImp());
await reRegister(
di,
() => CommonRepositoryImp(
remote: di.get<CommonRemoteDatasource>(),
local: di.get<ChickenLocalDataSource>(),
),
);
}
/// Helper function to re-register a dependency
Future<void> reRegister<T extends Object>(
GetIt di,
T Function() factory,
) async {
if (di.isRegistered<T>()) {
await di.unregister<T>();
}
di.registerLazySingleton<T>(factory);
}