Files
rasadyar_application/lib/infrastructure/di/di.dart
mr.mojtaba e83388670c fix : splash animation
feat : auth with password
chore : app Architecture
2025-04-07 16:49:15 +03:30

36 lines
1.1 KiB
Dart

import 'package:get_it/get_it.dart';
import 'package:hive_ce_flutter/hive_flutter.dart';
import 'package:logger/logger.dart';
import 'package:rasadyar_app/data/data_provider/local_storage/hive/hive_provider.dart';
import 'package:rasadyar_app/data/data_source/local_storage/user/user_local_storage.dart';
import 'package:rasadyar_app/data/model/user/user_model.dart';
import 'package:rasadyar_app/domain/repository/user/user_repository.dart';
final di = GetIt.instance;
void setupInjection() {
di.registerLazySingleton(() => HiveProvider(), instanceName: 'HiveProvider');
di.registerSingleton<Logger>( Logger());
}
Future<void> setupAllProvider() async {
await _setupLocalStorage();
await di.allReady();
}
Future<void> _setupLocalStorage() async {
final hiveProvider = di.get<HiveProvider>(instanceName: 'HiveProvider');
await hiveProvider.init();
Hive.registerAdapter(UserModelAdapter());
await Hive.openBox<UserModel>(HiveBoxNames.user.name);
//user
di.registerLazySingleton<IUserLocalStorage>(() => UserLocalStorage());
di.registerLazySingleton<IUserRepository>(
() => UserRepository(di.get<IUserLocalStorage>()),
);
//
}